我正在将旧数据迁移到laravel。
我想要的是在新表中保持以前的ID相同
我有一个默认的$table->increments(id)
字段。
我是否可以在laravel中明确插入此id字段?
因为我无法使用雄辩的模型create
方法:
User::create([
'id' => 123456,
'first_name' => 'john',
'last_name' => 'doe'
])
在那里甚至可能吗?
答案 0 :(得分:0)
问题必须出在用户模型中。打开User.php文件并修改$fillable
变量。将id
添加到数组中。 $fillable
变量告诉Eloquent哪些字段可以防止像你正在进行的质量分配(质量分配意味着你在插入中一次设置所有值)。因此,即使您在create()调用中指定id
,Eloquent也会忽略您设置的任何值,因为该字段不属于$fillable
字段。
这样的变量就像:
protected $fillable = ['id', 'first_name', 'last_name'];
你应该好好去(也考虑到你没有留下任何字段为空,根据用户迁移不能为空)