【发布时间】:2013-05-06 00:52:41
【问题描述】:
我有一个数据库种子文件:
class ContactTableSeeder extends Seeder {
public function run()
{
$contacts = array(
array(
'first_name' => 'Test',
'last_name' => 'Contact',
'email' => 'test.contact@emai.com',
'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 时,它会为数据库播种并在联系人表中创建相关记录,但它不会使用种子数组中的任何信息填充字段。我对其他表使用完全相同的语法并且它们工作正常,并且我还彻底检查了每个字段以确保它们与数据库字段匹配,但无论我做什么都不会正确播种。
有人有什么想法吗?
【问题讨论】:
-
您是否在模型中设置了 $fillable 或 $guarded 属性?如果没有,那么 Laravel 将不会让你使用 ::create() 方法填充字段,因为它是批量分配的。在这里查看 - laravel.com/docs/5.1/eloquent#mass-assignment
标签: laravel laravel-4 migrate seeding