【问题标题】:Laravel relationships use WhereLaravel 关系使用 Where
【发布时间】:2021-02-10 21:36:00
【问题描述】:

这个关系在我的Maintenance.php

  public function contactedContractor()
    {
        return $this->hasMany(ContactedContractor::class, 'maintenance_id');
    }

我想在我的控制器的查询中使用关系

$contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) {
                                                    return $query->where('contacted_contractors.user_id', '=', 8);
                                                })
                                                        ->where('contacted_contractors.user_id', $contractor_user_id)
                                                        ->latest('maintenances.created_at')
                                                        ->get();

但是 where 子句不起作用给我这个错误

Unknown column 'contacted_contractors.user_id' in 'where clause

如何使用 where 子句?

【问题讨论】:

    标签: php laravel eloquent eloquent-relationship


    【解决方案1】:

    您已通过查询。 Maintenance没有user_id

    ->where('contacted_contractors.user_id', $contractor_user_id)
    

    如下传递您的查询。

    $contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) use ($contractor_user_id) {
                                    return $query->where('user_id', $contractor_user_id);
                                })->latest('maintenances.created_at')->get();
    

    【讨论】:

      猜你喜欢
      • 2021-01-14
      • 2016-11-30
      • 2019-11-24
      • 2022-01-21
      • 1970-01-01
      • 2013-01-15
      • 2015-07-05
      • 1970-01-01
      • 2016-06-20
      相关资源
      最近更新 更多