Laravel 关系使用 Where
Laravel relationships use Where
这段关系在我的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 子句?
您已通过查询。 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();
这段关系在我的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 子句?
您已通过查询。 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();