我已经设法为启动时需要在数据库中的数据设置了相当数量的种子.一切都很简单并且运行良好,直到我需要使用默认日期播种DATE字段.
我试过以下......
DatabaseSeeder.php
class SettingsTableSeeder extends Seeder { public function run() { Setting::create([ 'name' => 'Start Date', 'date' => '2000-01-01' ]); } }
在我的模型中,我被告知添加这应该修复它,但它没有.
Setting.php
protected $dates = [ 'created_at', 'updated_at', 'date' ];
每次我去运行播种机时都会抛出错误:
[InvalidArgumentException] The separation symbol could not be found Unexpected data found. Trailing data
如果我删除它改变的日期周围的引号..
[InvalidArgumentException] The separation symbol could not be found Data missing
知道如何为DATE数据库字段播种默认值吗?
如果date
在$dates
数组中,则插入Carbon实例而不是字符串:
Setting::create([ 'name' => 'Start Date', 'date' => Carbon::parse('2000-01-01') ]);
您需要确保Carbon
可以在文件顶部使用:
use Carbon\Carbon;
它由Laravel/Composer自动加载.