Laravel 通过嵌套关系列查找行

Posted

技术标签:

【中文标题】Laravel 通过嵌套关系列查找行【英文标题】:Laravel find rows by nested relationship column 【发布时间】:2021-08-11 12:38:12 【问题描述】:

我有 2 张桌子 reserveschatschats 属于 reserves,我想在 chat.reserve.user_id = Auth::id() 的位置进行所有聊天。我怎么能在 laravel 中做到这一点。

【问题讨论】:

【参考方案1】:

我不知道您的型号名称(需要更多代码),但请尝试使用

$chats = Chat::query()->whereHas('reserves', function ($q) use ($authID)
       $q->where('user_id', $authID);       
 )->get();

其中'reserves'您的关系并具有字段user_id。可能需要完整的字段路径,例如 'reserves'.'user_id'

也看documentation

【讨论】:

以上是关于Laravel 通过嵌套关系列查找行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 的嵌套 2 级关系中按列排序?

Laravel 数据表搜索嵌套关系

Laravel - 通过自定义列查找或失败

Laravel 4:如果通过查询关系存在关系,则选择行

与 Laravel faker 的嵌套关系 - laravel 播种机

Lumen/Laravel:计算每个嵌套关系