我正在尝试运行完成的网络应用程序,但它给了我错误,几乎可以肯定是由于应用程序试图找出要使用的语言版本。我已经成功完成了迁移,但所有表格(国家,语言等)都是空的。如何使用应用程序正在查找的数据填充它们?
答案 0 :(得分:1)
您可以在迁移过程中创建默认项目。
public function up()
{
Schema::create('users', function(Blueprint $table) {
$table->increments('id');
$table->string('name');
});
$user = new App\User;
$user->name = 'Bob';
$user->save();
}
您也可以build seeders。
答案 1 :(得分:0)
新安装的Laravel应用程序中包含一个默认的DatabaseSeeder类。它允许您将数据插入数据库。在database/seeds
目录中查找:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// $this->call(UsersTableSeeder::class);
}
}
如果要将数据添加到countries
表,请按以下方式编写:
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('countries)->insert([
'code' => 'fra',
'name' => 'France',
]);
}
}
然后使用db:seed
命令为您的数据库设定种子:
php artisan db:seed
就是这样。
您还可以创建自己的Seeders
,例如ProductionDatabaseSeeder
或DummyDataSeeder
,在迁移数据库时自动运行播种机,甚至可以使用模型工厂轻松生成虚拟数据。请参阅laravel docs中的更多内容。