Из того, что я вижу, вы пытаетесь объединить предложения with()
и where()
для поиска в отношениях.
Вы можете добавить подзапросы, используя closure
в с () метод запроса:
$con = App\Contractor::with(['contractor_trade_types' => function ($query) {
$query->where('id', 16);
}])
->with(['contractor_areas' => function($query) {
$query->where('id', $area_id);
}])
->first();
print_r($con);
Кроме того, эти проверки могут быть добавлены в область запроса для использования в вашем приложении:
$con = App\Contractor::withTradeType(16)->withArea('ss')->first();
Модель подрядчика (например, App \ Contractor.php)
public function scopeWithTradeType($query, $trade_type_id)
{
return $query->with(['contractor_trade_types' => function ($q) {
$q->where('id', $trade_type_id);
}]);
}
public function scopeWithArea($query, $area_id)
{
return $query->with(['contractor_areas' => function($q) {
$q->where('id', 'ss');
}]);
}