首頁 > php框架 > Laravel > laravel如何快速實現資料填入(使用seeder)

laravel如何快速實現資料填入(使用seeder)

藏色散人
發布: 2021-11-03 15:56:30
轉載
3550 人瀏覽過

以下由Laravel教學專欄帶大家介紹laravel利用seeder實作資料表中填入數據,希望對大家有幫助!

laravel利用seeder實作資料表中填入資料

##為大家示範如何快速填入資料表中的資料

首先要執行php artisan指令會出現各種指令指示查找到

php artisan make:seeder
登入後複製

根據指令指示建立對應的文件,如下所示

php artisan make:seeder TestSeeder
登入後複製

首先我先建立一個test表,如下圖

#TestSeeder.php檔案內容如下所示

<?php

use Illuminate\Database\Seeder;

class TestSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table(&#39;test&#39;)->insert([
            &#39;name&#39; => str_random(10),
            &#39;sex&#39; => rand(1,2), // 1男 2女
            &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
            &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
        ]);
    }
}
登入後複製

執行如下指令進行填入假資料

php artisan db:seed --class=TestSeeder
登入後複製


每新增一條都要執行一邊指令,這樣會很麻煩,不如寫一個for迴圈來一次新插入

for ($x=0; $x<=10; $x++) {
     DB::table(&#39;test&#39;)->insert([
          &#39;name&#39; => str_random(10),
          &#39;sex&#39; => rand(1,2), // 1男 2女
          &#39;email&#39; => str_random(10).&#39;@qq.com&#39;,
          &#39;password&#39; => bcrypt(&#39;123456&#39;), // bcrypt为hash加密
     ]);
}
登入後複製

#資料庫的資料展示如下:

##如需要同時新增多個表格的測試數據,則需要在DatabaseSeeder.php中新增:

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
         $this->call(CreateDepartmentsSeeder::class);
         $this->call(CreateUsersSeeder::class);
         $this->call(CreateWagesSeeder::class);
    }
}
登入後複製
 

執行下列指令進行填入多個資料表的測試資料

php artisan db:seed
登入後複製
当我们执行  php artisan db:seed 
提示 class UserTableSeeder does not exist

这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢?
1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去
2.你是复制过来的

解决方法: composer dump-autoload
登入後複製
官方文件地址:  https://laravel.com/docs/5.5/seeding#writing-seeders

以上是laravel如何快速實現資料填入(使用seeder)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板