我配置了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