Привет У меня есть три таблицыLaravel Eloquent присоединиться три таблицы имеет много через
организации
id | name
1 | org1
2 | org2
сайт
id | name | organisation_id
1 | site1 | 1
2 | site2 | 1
3 | site3 | 2
служба
id | name | site_id
1 | service1 | 1
2 | service2 | 1
3 | service2 | 2
Здесь я хочу получить все услуги по организации (скажем, 1). я могу получить все сайты организации, как это, но как я могу получить услуги:
$sites = Site::whereHas('organisation', function ($query) {
$query->where('id', 1);
})->get();
Модель
organisationModel
public function sites() {
return $this->hasMany('App\Site');
}
siteModel
public function organisation(){
return $this->belongsTo('App\Organisation');
}
public function services() {
return $this->hasMany('App\Service');
}
ServiceModel
public function site(){
return $this->belongsTo('App\Site');
}
отлично, как я пропустил «многое» благодаря – sanu