Laravel 关系使用 Where
Posted
技术标签:
【中文标题】Laravel 关系使用 Where【英文标题】:Laravel relationships use 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 子句?
【问题讨论】:
【参考方案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();
【讨论】:
以上是关于Laravel 关系使用 Where的主要内容,如果未能解决你的问题,请参考以下文章