0
我有以下表格:如何將一個模型與2個不同的模型相關聯?
user_details
id - PK
user_name
user_email
cities
id - PK
city_name
regions
id - PK
region_name
city_id - FK(cities)
user_region (Many to Many)
user_id
region_id
而這些機型:
用戶
public function regions()
{
return $this->belongsToMany('App\Regions', 'user_region', 'user_id', 'region_id');
}
地區
public function cities()
{
return $this->belongsTo('App\Cities');
}
public function users()
{
return $this->belongsToMany('App\User', 'user_region', 'region_id', 'user_id');
}
城市
public function regions()
{
return $this->hasMany('App\Regions', 'city_id', 'id');
}
我需要獲取用戶的城市名稱。我可以在這裏使用哪種關係來做到這一點?
用戶如何可以屬於許多地區?一個城市如何能夠屬於許多地區?如果這兩種情況都是這種情況,那麼您將無法獲得用戶的「城市名稱」,因爲他們可能有很多。 – Sadurnias
一個城市可以有很多地區。用戶可以在許多地區工作。但是,用戶只能在一個城市工作。 – nirvair
編輯我的答案以適合您的情況,您可以檢查,然後回覆。 –