所以我对语言表(LanguageTableSeeder
)播种机如下:在空时间戳Laravel播种结果
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
字段为空这是奇怪的,因为当我在用户表中我的数据查询基地他们有created_at
和updated_at
字段被设置在运行播种机的确切时间。
所以这是我的问题。这是为什么发生?是否有必要使用:
'created_at' => date("Y-m-d H:i:s"),
'updated_at' => date("Y-m-d H:i:s"),
播种时获得填充时间戳吗?
感谢您的回复。为什么我应该使用'Carbon'包而不是php的'date'函数?为什么'UsersTableSeeder'设置时间戳而不使用上面提到的任何方法? – Jhivan
可能是你的用户表在$ seed = new User(); $ user-> name ='Super Admin'; $ user-> email ='[email protected]'; $ user-> save(); – sumit
看到我编辑的答案,希望你现在清楚 – sumit