Laravel的Migration 和 Seeder 使用
Posted GreyBig
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel的Migration 和 Seeder 使用相关的知识,希望对你有一定的参考价值。
1、安装Laravel
composer create-project laravel/laravel learnlaravel5 ^5.5
2、Auth
php artisan make:auth
3、连接数据库
DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel5 DB_USERNAME=root DB_PASSWORD=password
3.1 数据库迁移
php artisan migrate
这时,就可以进行登录了。
4、Migration 创建一个文章表
php artisan make:migration create_articles_table
成功之后打开 learnlaravel5/database/migrations
,你会发现有一个名为 2*****_create_articles_table 的文件被创建了。我们修改他的 up 函数为:
public function up()
{
Schema::create(‘articles‘, function (Blueprint $table)
{
$table->increments(‘id‘);
$table->string(‘title‘);
$table->text(‘body‘)->nullable();
$table->integer(‘user_id‘);
$table->timestamps();
});
}
我们首先用Auth创建个ass
5、Seeder 给文章表填充数据
A. php artisan make:seeder ArticleSeeder
我们会发现 learnlaravel5/database/seeds
里多了一个文件 ArticleSeeder.php
,修改此文件中的 run 函数为:
public function run()
{
DB::table(‘articles‘)->delete();
for ($i=0; $i < 10; $i++) {
AppArticle::create([
‘title‘ => ‘Title ‘.$i,
‘body‘ => ‘Body ‘.$i,
‘user_id‘ => 1,
]);
}
}
B. 注册ArticleSeeder 到系统内。修改 learnlaravel5/database/seeds/DatabaseSeeder.php
中的 run 函数为:
public function run()
{
$this->call(ArticleSeeder::class);
}
C. 由于 database 目录没有像 app 目录那样被 composer 注册为 psr-4 自动加载,采用的是 psr-0 classmap 方式,所以我们还需要运行以下命令把 ArticleSeeder.php
加入自动加载系统,避免找不到类的错误:
composer dump-autoload 作用:当你加入一个新类时,可以用它更新 autoloader
D. 执行 seed:
php artisan db:seed
你应该得到如下结果:
? php artisan db:seed
Seeding: ArticleSeeder
这时候刷新一下数据库中的 articles 表,会发现已经被插入了 10 行假数据:
以上是关于Laravel的Migration 和 Seeder 使用的主要内容,如果未能解决你的问题,请参考以下文章