我有3種型號:Laravel關係遞歸
市:
protected $fillable = [
'name', 'latitude', 'longitude', 'code', 'country_id', 'status', 'weather_code',
];
public function translations() {
return $this->hasMany('App\Models\CityTranslation');
}
public function country() {
return $this->hasMany('App\Models\Country');
}
CityTranslation
protected $fillable = [
'name', 'lang', 'city_id',
];
public function city() {
return $this->hasOne('App\Models\City', 'id', 'city_id');
}
和國家
protected $fillable = [
'code', 'latitude', 'longitude', 'currency_id', 'timezone', 'dam_date', 'status',
];
public function city() {
return $this->hasMany('App\Models\City');
}
我的問題是,當一個經過我CityTranslations並顯示所選語言的城市名稱,我也想顯示有關城市和國家的信息。
是沒有問題的調用$ cityTranslation->城市 - >經度,但是當我調用$ cityTranslation->城市 - >國家 - >碼它給了我一個MySQL錯誤:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'countries.city_id' in 'where clause' (SQL: select * from `countries` where `countries`.`city_id` = 4439 and `countries`.`city_id` is not null)
哪有我做遞歸關係?
你爲什麼在城市和國家之間有一對多?一個城市可以有多個國家? oO它試圖找到city_id在國家,因爲那... – naneri