我正在尝试使用Eloquent CRM从数据库中获取记录。我的表的主键字段名称是"user_id"
。奇怪的是,每次我使用User::find()
并传递user_id
号码时,我都会
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause'
(SQL: select * from `users` where `id` = ? limit 1) (Bindings: array ( 0 => 8, ))
我假设ORM进行调用,假设表的id字段名称为"id"
而不是"user_id"
。我如何检查它是否正确地看到它应该看到的内容。我还试图将主键字段user_id更改为“id”,因为ORM似乎期望并且这有效但我遵循我的数据库模式中的命名约定,所以我想坚持"user_id"
。
任何形式的帮助都将受到赞赏。
由于
答案 0 :(得分:1)
我已经解决了这个问题。我所要做的就是正确阅读文档。很抱歉急于提出这么简单的问题。
Eloquent假定任何表的主键字段默认名为“id”。要更改它,只需将$ primaryKey字段覆盖到数据库表中的相应字段名称。
答案 1 :(得分:-1)
class User extends Eloquent implements ....
public $publicKey = 'user_id';
...