Я использую Laravel 5.6, у меня 3 модели:
Площадь имеет множество Магазины :
public function stores()
{
return $this->hasMany('Beproxy\App\Models\Store');
}
Магазин принадлежит одному Торговцу :
public function merchant()
{
return $this->belongsTo('Beproxy\App\Models\Merchant');
}
В моем Торговце у меня есть один tinyInt, чтобы определить, активен Торговец или нет ( состояние )
Могу ли я написать новую функцию в моей области модели, чтобы получить все магазины , принадлежащие активному торговцу ?
С отношением hasMany я могу использовать:
public function storesWithProducts()
{
return $this->hasMany('App\Models\Store')->has('products');
}
Но я не могу найти, как использовать условие для , принадлежащего , я пробовал в своей области , но он загружает все:
public function storesWithMerchantActive()
{
return $this->hasMany('App\Models\Store')
->with(['merchant' => function($query) {
$query->where('state', '=', 1);
}])
->has('products');
}