laravel框架可以快速生成表,并填充表,熟练使用后可以提高我们编码的效率
创建并`填充`article表
为了方便下面的演示,我们新建一个 article 数据表,首先创建对应`迁移`文件:
php artisan make:migration create_article_table --create=article
编写新增的`迁移文件对应迁移类 CreateArticleTable 的 up 方法如下:
```
public function up()
{
Schema::create('article', function (Blueprint $table) {
$table->increments('id');
$table->string('title')->comment('标题');
$table->text('content')->comment('内容');
$table->integer('user_id')->unsigned()->default(0);
$table->integer('views')->unsigned()->default(0)->comment('浏览数');
$table->index('user_id');
$table->timestamps();
});
}
```
运行 php artisan migrate 创建 article 数据表。然后为该数据表创建一个模型类:
php artisan make:model Article
接下来,我们为这个模型类创建一个模型工厂:
php artisan make:factory ArticleFactory --model=Article
编写模型工厂 database/factories/ArticleFactory.php 代码如下:
```
define(\App\Article::class, function (Faker $faker) {
return [
'title' => $faker->title,
'content' => $faker->text,
'user_id' => mt_rand(1, 15),
'views' => $faker->randomDigit
];
});
```
然后为 article 表创建填充类:
php artisan make:seeder ArticleTableSeeder
在 database/seeds 目录下新生成的填充类 ArticleTableSeeder 中,调用模型工厂填充数据表:
```
create();
}
}
```
这样,我们就可以运行如下 Artisan 命令填充 article 数据表了:
```
php artisan db:seed --class=ArticleTableSeeder
```
注意如果用的是laravel8可能编码有区入
详见`https://segmentfault.com/a/1190000037449894?utm_source=tag-newest`