Сценарий - У меня 3 стола> Страна, штат, город. У города есть колонка с идентификатором, у государства есть столбец countryid, страна не имеет ссылки.Laravel 5 - красноречивая модель - 3 таблицы в серии
метода Город Модель
методаpublic function state(){
return $this->belongsTo('App\State', 'stateid');
}
Государственная модель
public function country(){
return $this->belongsTo('App\Country', 'countryid');
}
public function cities(){
return $this->hasMany('App\City', 'stateid');
}
Страна Модель метода
public function states()
{
return $this->hasMany('App\State', 'countryid');
}
Проблема - Я хочу, чтобы получить список городов в стране. Как создать метод в Country Model, как это? -
public function cities(){
return $this->states()->cities(); //Calling hasMany on builder is not possible.
}
Аналогичным образом, метод названия страны из городской модели.
Что вы ищете for is, 'hasManyThrough()'. См. Https://laravel.com/docs/5.1/eloquent-relationships#has-many-through – Mysteryos
@Mysteryos - Спасибо, это сработало. – asachanfbd
@Mysteryos - есть ли способ получить страну из города? – asachanfbd