在laravel 5.2

时间:2016-02-07 11:57:09

标签: php mysql laravel laravel-5 eloquent

我正在将旧数据迁移到laravel。

我想要的是在新表中保持以前的ID相同 我有一个默认的$table->increments(id)字段。

我是否可以在laravel中明确插入此id字段?

因为我无法使用雄辩的模型create方法:

User::create([
'id' => 123456,
'first_name' => 'john',
'last_name' => 'doe'
])

在那里甚至可能吗?

1 个答案:

答案 0 :(得分:0)

问题必须出在用户模型中。打开User.php文件并修改$fillable变量。将id添加到数组中。 $fillable变量告诉Eloquent哪些字段可以防止像你正在进行的质量分配(质量分配意味着你在插入中一次设置所有值)。因此,即使您在create()调用中指定id,Eloquent也会忽略您设置的任何值,因为该字段不属于$fillable字段。

这样的变量就像:

protected $fillable = ['id', 'first_name', 'last_name'];

你应该好好去(也考虑到你没有留下任何字段为空,根据用户迁移不能为空)