<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 數據庫:填充 ### 介紹 * Laravel 包含一個填充類可以為你的數據庫填充測試數據,所有的填充類都放在 database/seeds 目錄下。 * 你可以隨意為填充類命名,但是更建議您遵守類似 `UserSeeder`的命名規范。 * 通常, Laravel 默認定義了一個 DatabaseSeeder 類。通過這個類,你可以用 call 方法來運行其它的 seed 類從而控制數據填充的順序。 ### 編寫 Seeders 運行 `Artisan` 命令 `make:seeder` 生成 `Seeder`,框架生成的 `seeders` 都放在 `database/seeds`目錄下: ``` php artisan make:seeder UserSeeder ``` * seeder 類只包含一個默認方法:run * 這個方法會在執行 db:seed 這個 Artisan 命令 時被調用 * 在 run 方法里你可以根據需要在數據庫中插入數據 * 你也可以用 查詢構造器 或 Eloquent 模型工廠 來手動插入數據。 技巧:使用數據填充時會自動禁用 批量賦值保護。 如下所示,在默認的`DatabaseSeeder` 類中的 `un` 方法中添加一條數據插入語句: ``` <?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; class DatabaseSeeder extends Seeder { /** * 執行數據庫填充 * * @return void */ public function run() { DB::table('users')->insert([ 'name' => Str::random(10), 'email' => Str::random(10).'@gmail.com', 'password' => Hash::make('password'), ]); } } ``` 技巧:你在 run 的方法簽名中可以用類型來約束你需要的依賴。它們會被 Laravel 服務容器 自動解析。 ### 使用模型工廠 * 你也可以使用 模型工廠 輕松地生成大量數據庫數據。 * 一旦定義好了你的工廠文件,然后就可以使用 factory 這個輔助函數來向數據庫中插入數據。 例如,創建 50 個用戶并為每個用戶創建關聯: ``` use App\Models\User; /** * 執行數據庫填充 * * @return void */ public function run() { User::factory() ->times(50) ->hasPosts(1) ->create(); } ``` ### 調用其它 Seeders 在 DatabaseSeeder 類中,你可以使用 call 方法來運行其它的 seed 類。使用 call 方法可以將數據填充拆分成多個文件,這樣就不會使單個 seeder 變得非常大。只需簡單傳遞要運行的 seeder 類名稱即可: ``` /** * 執行數據庫填充 * * @return void */ public function run() { $this->call([ UserSeeder::class, PostSeeder::class, CommentSeeder::class, ]); } ``` ### 運行 Seeders 你可以使用 `Artisan` 命令 `db:seed` 來填充數據庫了。默認情況下,`db:seed`命令將運行 `DatabaseSeeder` 類,這個類可以用來調用其它`Seed`類。不過,你也可以使用`--class` 選項來指定一個特定的`seeder`類: ``` php artisan db:seed php artisan db:seed --class=UserSeeder ``` * 你也可以用`migrate:fresh` 這個命令來填充數據庫 * 這將刪除所有表并重新運行所有遷移 * 這個命令可以用來重建數據庫: ``` php artisan migrate:fresh --seed ``` * 在生產環境中強制運行 一些填充操作可能會導致原有數據的更新或丟失。為了保護生產環境數據庫的數據,在運行填充命令前會進行確認。可以添加 --force 選項來強制運行填充命令: ``` php artisan db:seed --force ```
                  <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>

                              哎呀哎呀视频在线观看