<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 快速入門 ## 簡介 Laravel 目前支持四種數據庫:MySQL、PostgreSQL、SQLite、SQL Server,數據庫的配置文件放置在 config/database.php 文件中。 ## 配置 ### SQLite 配置 ``` // 使用數據庫的絕對路徑配置環境變量 DB_CONNECTION=sqlite DB_DATABASE=/absolute/path/to/database.sqlite // 如果要開啟 SQLite 連接的外鍵約束,應該將 foreign_key_constraints // 添加到 config/database.php 配置文件中 'sqlite' => [ // ... 'foreign_key_constraints' => true, ], ``` ### 讀寫分離配置 ``` 'mysql' => [ 'read' => [ 'host' => [ '192.168.1.1', '196.168.1.2', ], ], 'write' => [ 'host' => ['196.168.1.2'], ], 'sticky' => true, 'driver' => 'mysql', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', ], ``` `sticky`是一個*可選值*,它可用于立即讀取在當前請求周期內已寫入數據庫的記錄。若`sticky`選項被啟用,并且當前請求周期內執行過 「寫」 操作,那么任何 「讀」 操作都將使用 「寫」 連接。這樣可確保同一個請求周期內寫入的數據可以被立即讀取到,從而避免主從延遲導致數據不一致的問題。不過是否啟用它,取決于應用程序的需求。 ### 使用多個數據庫連接 ``` // connection 方法的參數在 config/database.php 文件的 connections 數組中配置 $users = DB::connection('foo')->select(...); // 使用連接實例上的 getPdo 方法訪問底層的 PDO 實例 $pdo = DB::connection()->getPdo(); ``` ## 運行原生 SQL 查詢 ### Select 查詢 ``` <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; class UserController extends Controller { /** * 顯示應用程序中所有用戶的列表 * * @return Response */ public function index() { $users = DB::select('select * from users where active = ?', [1]); return view('user.index', ['users' => $users]); } } // select 返回 StdClass 對象的數組 foreach ($users as $user) { echo $user->name; } ``` ### 使用命名綁定 ``` $results = DB::select('select * from users where id = :id', ['id' => 1]); ``` ### 插入語句 ``` // 返回 true 或報錯 DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']); ``` ### 更新語句 ``` // 返回語句影響的行數 $affected = DB::update('update users set votes = 100 where name = ?', ['John']); ``` ### 刪除語句 ``` // 返回語句影響的行數 $deleted = DB::delete('delete from users'); ``` ### 普通語句 ``` // 沒有返回值 DB::statement('drop table users'); ``` ### 監聽查詢事件 ``` // 在 AppServiceProvider 的 boot 方法設置 use Illuminate\Support\Facades\DB; public function boot() { DB::listen(function ($query) { // $query->sql // $query->bindings // $query->time }); } ``` ## 數據庫事務 ``` // 事務的閉包出現異常,事務將會回滾 DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }); ``` ### 處理死鎖 ``` // 可選第二個參數 ,該參數用來表示事務發生死鎖時重復執行的次數,嘗試次數完拋出異常。 DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); }, 5); ``` ### 手動使用事務 ``` DB::beginTransaction(); try { // DB::commit(); } catch (\Exception $e) { DB::rollBack(); // } ``` >[success] 注意:DB facade 的事務方法同樣適用于 查詢構造器 和 Eloquent ORM。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看