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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ### **1、簡介** [Laravel](http://laravelacademy.org/tags/laravel "View all posts in Laravel")?包含了一個簡單方法來填充[數據庫](http://laravelacademy.org/tags/%e6%95%b0%e6%8d%ae%e5%ba%93 "View all posts in 數據庫")——使用填充類和測試數據。所有的填充類都位于`database/seeds`目錄。填充類的類名完全由你自定義,但最好還是遵循一定的規則,比如可讀性,例如`UserTableSeeder`等等。安裝完 Laravel 后,會默認提供一個`DatabaseSeeder`類。從這個類中,你可以使用`call`方法來運行其他填充類,從而允許你控制填充順序。 ### **2、編寫[填充器](http://laravelacademy.org/tags/%e5%a1%ab%e5%85%85%e5%99%a8 "View all posts in 填充器")** 要生成一個填充器,可以通過 Artisan 命令`make:seeder`。所有框架生成的填充器都位于`database/seeders`目錄: ~~~ php artisan make:seeder UserTableSeeder ~~~ 一個填充器類默認只包含一個方法:`run`。當Artisan命令`db:seed`運行時該方法被調用。在`run`方法中,可以插入任何你想插入數據庫的數據,你可以使用[查詢構建器](http://laravelacademy.org/post/2956.html)手動插入數據,也可以使用 Eloquent?[模型工廠](http://laravelacademy.org/tags/%e6%a8%a1%e5%9e%8b%e5%b7%a5%e5%8e%82 "View all posts in 模型工廠")。 舉個例子,讓我們修改 Laravel 安裝時自帶的`DatabaseSeeder`類,添加一個數據庫插入語句到`run`方法: ~~~ <?php use DB; use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; class DatabaseSeeder extends Seeder{ /** * 運行數據庫填充 * * @return void */ public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); } } ~~~ #### **使用模型工廠** 當然,手動指定每一個模型填充的屬性是很笨重累贅的,取而代之的,我們可以使用模型工廠來方便的生成大量的數據庫記錄。首先,查看[模型工廠文檔](http://laravelacademy.org/post/238.html#model-factories)來學習如何定義工廠,定義工廠后,可以使用幫助函數`factory`來插入記錄到數據庫。 舉個例子,讓我們創建50個用戶并添加關聯關系到每個用戶: ~~~ /** * 運行數據庫填充 * * @return void */ public function run(){ factory('App\User', 50)->create()->each(function($u) { $u->posts()->save(factory('App\Post')->make()); }); } ~~~ #### **調用額外的填充器** 在`DatabaseSeeder`類中,你可以使用`call`方法執行額外的填充類,使用`call`方法允許你將數據庫填充分解成多個文件,這樣單個填充器類就不會變得無比巨大,只需簡單將你想要運行的填充器類名傳遞過去即可: ~~~ /** *?運行數據庫填充 * *?@return?void */ public?function?run(){ Model::unguard(); $this->call(UserTableSeeder::class); $this->call(PostsTableSeeder::class); ? ? $this->call(CommentsTableSeeder::class); ? ??Model::reguard(); } ~~~ ### **3、運行填充器** 編寫好填充器類之后,可以使用 Artisan 命令`db:seed`來填充數據庫。默認情況下,`db:seed`命令運行可以用來運行其它填充器類的`DatabaseSeeder`類,但是,你也可以使用`--class`?選項來指定你想要運行的獨立的填充器類: ~~~ php artisan db:seed php artisan db:seed --class=UserTableSeeder ~~~ 你還可以使用`migrate:refresh`命令來填充數據庫,該命令還可以回滾并重新運行遷移,這在需要完全重建數據庫時很有用: ~~~ php?artisan?migrate:refresh?--seed ~~~
                  <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>

                              哎呀哎呀视频在线观看