我正在使用:
在具有4994行的表上dd(User::find(1)->get());
,上面的查询返回所有行。
但是当我这样做时:
User::where('id',1)->with('groups')->get()
,我得到了正确的行(只有一行)
用户表有一个名为id的列,它是主键。
我正在使用 Laravel Framework版本5.1.31(LTS)
有人可以告诉我这是什么问题吗?
答案 0 :(得分:7)
您无需使用get()
方法附加find()
。 find是返回单个记录而不附加get()
的最短且最简单的方法。
这样做,你只能获得单一记录。
dd(User::find(1));
答案 1 :(得分:0)
由于find()
函数将始终使用表的主键,因此不需要get()
。因为您无法使用primary key
缩小选择范围,这就是为什么它总会尝试获取该记录并将其返回。