Laravel查找不使用自定义主键

时间:2018-06-17 11:02:42

标签: laravel primary-key

我遇到了这样一种情况:我使用自定义主键在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主键。我在哪里可以遗漏一些东西?

1 个答案:

答案 0 :(得分:2)

将$ primarykey设置为$ primaryKey。在这里查看Laravel的文档: https://laravel.com/docs/5.6/eloquent#eloquent-model-conventions