Laravel 使用外部表过滤雄辩的集合';s属性

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表,在通过属性“status”=“1”过滤集合及其外部表(user_details)后,我试图将数据返回到视图

我已经研究并尝试了许多在线建议的方法,例如

$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
列是
下的
。哦,我明白你的意思了!我将改变它!再次感谢你,伙计!