我遇到了这样一种情况:我使用自定义主键在Laravel 5.5中使用Eloquent来更新我的记录。
这是我试过的: -
在我的Model.php中,
protected $primarykey = 'custom_primary_key';
我的迁移看起来像: -
$table->increments('custom_primary_key');
在我的控制器中,我有: -
Model::find(custom_primary_key);
但是当我试图在我的控制器中使用find()
找到记录时,它会给出
Column not found: 1054 Unknown column 'table.id' in 'where clause' (SQL: select * from `table` where `table`.`id` = 1 and `table`.`deleted_at` is null limit 1)"
表还包含一个包含自定义主键的列,并且没有名为id
的列。
它不识别cutom主键。我在哪里可以遗漏一些东西?
答案 0 :(得分:2)
将$ primarykey设置为$ primaryKey。在这里查看Laravel的文档: https://laravel.com/docs/5.6/eloquent#eloquent-model-conventions