Laravel 使用外部表过滤雄辩的集合';s属性
我有一个users表,在通过属性“status”=“1”过滤集合及其外部表(user_details)后,我试图将数据返回到视图 我已经研究并尝试了许多在线建议的方法,例如Laravel 使用外部表过滤雄辩的集合';s属性,laravel,eloquent,Laravel,Eloquent,我有一个users表,在通过属性“status”=“1”过滤集合及其外部表(user_details)后,我试图将数据返回到视图 我已经研究并尝试了许多在线建议的方法,例如 $users = Users::whereHas('details_id', function($query) { $query->where('status', '1'); })->get()->paginate(15); 但我有一个错误 调用未定义的方法App\Models\User::det
$users = Users::whereHas('details_id', function($query) {
$query->where('status', '1');
})->get()->paginate(15);
但我有一个错误
调用未定义的方法App\Models\User::details\u id()
以下是我的用户模型:-
public function user_details()
{
return $this->hasOne(UserDetails::class, "id");
}
使用
has
或whereHas
时,应使用关系的名称(方法名称),而不是与它们相关的字段名称:
$users=users::whereHas('user\u details',函数($query){
$query->where('status','1');
})->分页(15);
Try:$users=users::all()->get();dd(用户)
然后$users=users::all()->with('user_details_table_name_here')->get();dd(用户)代码>查看结果的差异。哪个表具有详细信息\u id
?事实上,您能显示这两个表的列名吗?哦,谢谢!我更进一步了,但现在我得到了一个错误“Method illumb\Database\elount\Collection::links不存在”。我的分页不存在work@zernzern1993我已经更新了代码。对不起,我应该看所有的。调用paginate
时,不应同时使用get
。另外,您能否告诉我详细信息\u id
在哪里?我想你们的关系可能没有建立好。天哪,你们是个救命恩人!!!它现在正在工作,如果您仍然想知道,err-the-details\u id是用户表中指向UserDetails表中某一行的外键属性!非常感谢,顺便说一句@zernzern1993如果它正常工作,那么它应该无关紧要,但实际上,用户详细信息
关系应该是所属的。经验法则是,如果该表中的*\u id
列是下的。哦,我明白你的意思了!我将改变它!再次感谢你,伙计!