【发布时间】:2017-07-27 04:04:45
【问题描述】:
所以我有一个 Languages Table (LanguageTableSeeder) 的播种机,如下所示:
DB::table('languages')->insert([
'name' => 'English',
'flag' => '',
'abbr' => 'en',
'script' => 'Latn',
'native' => 'English',
'active' => '1',
'default' => '1',
]);
$this->command->info('Language seeding successful.');
但这导致created_at 和updated_at 字段在数据库中为空。我查看了预发布的 UsersTabeSeeder 并将我的 LanguageTableSeeder 更改为完全相同的格式:
DB::table('languages')->delete();
$languages = [
[
'name' => 'English',
'flag' => '',
'abbr' => 'en',
'script' => 'Latn',
'native' => 'English',
'active' => '1',
'default' => '1',
],
];
foreach ($languages as $language){
Language::create($language);
}
这也导致 created_at 和 updated_at 字段为 Null,这很奇怪,因为当我查看数据库中的用户表时,他们有 created_at 和 updated_at 字段要在确切时间设置运行播种机。
所以这是我的问题。为什么会这样?是否有必要使用:
'created_at' => date("Y-m-d H:i:s"),
'updated_at' => date("Y-m-d H:i:s"),
在播种时获得填充时间戳?
【问题讨论】:
标签: laravel eloquent laravel-5.4 laravel-seeding