得到domain table
One To Many relationship
domain_hosts_table
,server_hosts_table
和systems_table
。到目前为止一切都很好。
调用表格数据:
$domains = Domain::with('domain_host', 'server_host', 'system')->get();
域模型:
public function domain_host()
{
return $this->hasOne('App\DomainHost', 'id');
}
public function server_host()
{
return $this->hasOne('App\ServerHost', 'id');
}
public function system()
{
return $this->hasOne('App\System', 'id');
}
DomainHost , ServerHost ,系统模型:
public function domains()
{
return $this->hasMany('App\Domain');
}
域表:
到目前为止一切顺利。
让我们看看这个特定的表在foreached
时返回的内容。
前两行应该是相同的(基于它们的ID),前两行之后的所有行都是空的。
(dd
获取的数据,注意第4个对象的关系是空的,第1个对象实际上有数据。)
答案 0 :(得分:0)
在定义我的关系时必须定义另一个参数:
public function domain_host()
{
return $this->hasOne('App\DomainHost', 'id', 'domain_host_id');
}
public function server_host()
{
return $this->hasOne('App\ServerHost', 'id', 'server_host_id');
}
public function system()
{
return $this->hasOne('App\System', 'id', 'system_id');
}
它正在寻找另一个表中当前行的ID。