2016-06-30 13 views
0

Haben Sie eine domain table, die eine One To Many relationship mit domain_hosts_table, server_hosts_table und systems_table hat. So weit, ist es gut.Beziehungen Rückkehr falsch/Null-Daten (Laravel 5.2)

Aufruf der Tabellendaten:

$domains = Domain::with('domain_host', 'server_host', 'system')->get(); 

Domain Modell:

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, -System Modell:

public function domains() 
{ 
    return $this->hasMany('App\Domain'); 
} 

Domains Tabelle:

enter image description here

So weit so gut.

Lassen Sie uns auf das, was diese besondere Tisch zurückkehrt einen Blick darauf werfen, während foreached zu sein.

enter image description here

Die ersten zwei Zeilen sollten identisch sein (auf ihre IDs basieren), und alle Zeilen nach der ersten 2 sind nur leer.

(dd der abgerufenen Daten, bemerken die Beziehungen zu 4. Objekt leer ist, erste Objektdaten tatsächlich hat).

enter image description here

Antwort

0

hatte einen anderen Parameter zu definieren, wenn meine Beziehungen definieren:

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'); 
} 

Es wurde in der anderen Tabelle für die ID der aktuellen Zeile suchen.