ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] #### 详细文档参考地址: https://laravel-china.org/docs/laravel/5.6/migrations/1400#creating-tables #### 常用命令: php artisan make:migration create_users_table --create=users #### 迁移结构: php artisan migrate #### 回滚迁移 想要回滚最新的一次迁移”操作“,可以使用 rollback 命令,注意这将会回滚最后一批运行的迁移,可能包含多个迁移文件: php artisan migrate:rollback #### 创建模型的时候同时创建表: php artisan make:model Model/Admin -m 会在app目录下面生成一个Model文件目录,并且在下面生成Admin.php 模型文件,同时在database migrations 下面生成数据表文件。 #### 使用tinker填充数据: 参考地址: http://laravelacademy.org/post/4935.html 通常情况下,我们可以使用 Laravel 的模型工厂(model factory)来快速填充我们的数据库,它可以帮我向数据库插入伪数据方便我们测试。现在让我们开始使用 tinker 吧。 ![](https://box.kancloud.cn/a034f8027c66702a10e5906f352b6b83_1301x826.png =800x600) $factory->define(App\Model\Admin::class, function (Faker\Generator $faker) { static $password; return [ 'username' => $faker->name, 'password' => $password ?: $password = bcrypt('admin888'), ]; }); php artisan tinker 这条命令会打开一个 REPL 窗口供我们使用。刚才我们已经执行过 migration, 现在我们可以直接在 REPL 中使用模型工厂来填充数据。 factory(App\Model\Admin::class,3)->create(); 这个时候,一个包含了 3 条新用户记录的集合将在你的终端上打印出来。现在我们可以检查一下这些记录是否真的已经被创建了。 App\Model\Admin::all(); 使用 count 方法,还可以查看 User 模型在数据库中一共有多少个 user 。 App\Model\Admin::count(); #### 使用make:seeder进行数据填充 要生成一个填充器,可以通过 Artisan 命令 make:seeder。所有框架生成的填充器都位于 database/seeds 目录: php artisan make:seeder AdminsTableSeeder 一个填充器类默认只包含一个方法:run。当 Artisan 命令 db:seed 运行时该方法被调用。在 run 方法中,可以插入任何你想插入数据库的数据,你可以使用查询构建器手动插入数据,也可以使用 Eloquent 模型工厂(后面数据库测试部分文档会详述这个概念)。 注:数据库填充期间模型批量赋值(后面 Eloquent ORM 中会详述这个概念)自动被禁止。 举个例子,让我们修改 Laravel 安装时自带的 DatabaseSeeder 类,添加一个数据库插入语句到 run 方法: <?php use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class AdminsTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('Admins')->insert([ 'username' => str_random(10), 'password' => bcrypt('admin888'), ]); } } 开始填充数据 php artisan db:seed --class=AdminsTableSeeder