我有一个数据库种子文件:
class ContactTableSeeder extends Seeder {
public function run()
{
$contacts = array(
array(
'first_name' => 'Test',
'last_name' => 'Contact',
'email' => '[email protected] /cdn-cgi/l/email-protection',
'telephone_number' => '0111345685',
'address' => 'Address',
'city' => 'City',
'postcode' => 'postcode',
'position' => 'Director',
'account_id' => 1
)
);
foreach ($contacts as $contact) {
Contact::create($contact);
}
}
}
当我运行 php artisan migrate:refresh --seed 时,它会为数据库播种并在联系人表中创建相关记录,但它不会使用种子数组中的任何信息填充字段。我对其他表使用完全相同的语法,它们工作得很好,而且我还彻底检查了每个字段以确保它们与数据库字段匹配,但无论我做什么,它都不会正确播种。
有人有什么想法吗?
我遇到了同样的问题,但上述解决方案都不适合我。原来是因为我的模型中有一个构造函数!我删除它后效果很好!
public function __construct()
{
parent::__construct();
}
编辑:
进一步阅读后,我发现问题是由于以下事实造成的:如果要在模型中包含构造函数,则必须接受属性参数并将其传递给父级。如果您这样做,那么构造函数不会破坏数据库播种(可能还有其他事情)。我希望这可以避免其他人的头痛。
public function __construct($attributes = array())
{
parent::__construct($attributes);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)