我配置了5個模型。客戶,環境,對象,ServiceRole和服務。我已經在每個模型中建立了合適的雄辯關係。Laravel 5.1與一對多和多對多模型的遠程關係
客戶有很多環境。
//Customer Model
public function environments()
{
return $this->hasMany('App\Environment');
}
環境屬於一個客戶。
環境屬於許多對象。
//Environment Model
public function customer()
{
return $this->belongsTo('App\Customer');
}
public function objects()
{
return $this->belongsToMany('App\Object');
}
對象屬於許多環境。
對象屬於許多ServiceRoles。
//Object Model
public function environments()
{
return $this->belongsToMany('App\Environment');
}
public function serviceRoles()
{
return $this->belongsToMany('App\ServiceRole');
}
ServiceRoles屬於許多對象。
ServiceRoles屬於一個Service。
//ServiceRole Model
public function objects()
{
return $this->belongsToMany('App\Object');
}
public function service()
{
return $this->belongsTo('App\Service');
}
服務屬於許多ServiceRoles。
public function serviceRoles()
{
return $this->hasMany('App\ServiceRole');
}
--SQL--
客戶:ID,名稱
對象:ID,名稱
環境:ID,姓名,CUSTOMER_ID
environment_object:ID,environment_id ,object_id
service_roles:id,name,service_id
object_service_role:ID,OBJECT_ID,service_role_id
服務:
1)什麼是檢索所有相關的客戶對象的最簡單的方法(在所有相關的ID,名稱環境)?
希望做的是這樣的:$客戶 - >對象
2)我怎樣才能然後檢索相關的客戶對象的所有的服務,爲每個對象都有映射到服務ServiceRole 。
希望做的是這樣的:$客戶 - >服務
道歉,我已經添加了模型和修改了我的第二個問題稍微反映另一模型,我錯過了。謝謝 – kayex