1

有没有办法自定义laravel中find方法中使用的字段名:

User::find(1) //this assumes that the primary key field is always named id

我尝试在模型上这样做:

public static $id = 'user_id';

但这不起作用。它在执行 find() 时使用的查询仍在使用“id”列

我总是可以做类似的事情:

$user = User::where('user_id', '=', 2);

但我喜欢输入更少的代码,我特别想链接它以将新记录插入另一个表,但这不起作用:

$user = User::where('insect_id', '=', 2)->transactions()->insert(array('trans_id' => 34));
4

1 回答 1

6

更新::(2013 年 11 月 11 日)

从 laravel 4 开始,需要覆盖 primaryKey 才能访问主键属性。

参考

例子 :

受保护的 $primaryKey = 'user_id';

老的::

利用

public static $key = 'user_id';

在你的模型中

有关详细信息,请参阅http ://laravel.com/api/source-class-Laravel.Database.Eloquent.Model.html#45 ...

于 2012-11-19T05:31:11.893 回答