【问题标题】:Relation still returning row even if data not exist in laravel即使 laravel 中不存在数据,关系仍然返回行
【发布时间】:2021-10-14 22:37:41
【问题描述】:

我有这个问题:

 $data=Booking::whereHas('service.user', function($query) use ($id){
                    $query->where('user_id', $id);
 })->get();

这里 service.user 与用户相关,我只想从预订表中返回那些在 service.user 关系中存在 user_id 的记录,但是使用此关系,当 user_id 不存在于服务中时,我仍然从预订表中获取记录.用户关系。任何人都可以提出一些解决方案。谢谢

【问题讨论】:

  • 能否提供模型上下文? services 表也有可能有一个字段名称user_id,框架可能会与users 表中的id 字段混淆。

标签: laravel laravel-5 eloquent


【解决方案1】:

你可以试试这个吗?我想我可能是错的,但为什么不试一试(-:

$data = Booking::whereHas('service', function ($query) use ($id) {
            $query->whereHas('user', function ($query) use ($id) {
                $query->where('user_id', $id);
            });
        })->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-06
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2019-06-22
    相关资源
    最近更新 更多