2017-05-22 16 views
0

Ich habe drei Modelle mit den Namen Job, JobDetail und Customer. Job hat viele Beziehungen mit JobDetail und Customer hat viele Beziehungen mit Job. Unten ist die Struktur der Tabellen.eloquente Beziehung mit drei Tabellen in Laravel 5.4

Job 
id customer_id jobname 

JobDetail 
id job_id days 

Customer 
id name 

Im Folgenden sind die Modelle:

class Job extends Model 
{ 
    public function job_details() 
    { 
     return $this->hasMany('App\JobDetail','job_id','id'); 
    } 

} 

class Customer extends Model 
{ 
    public function customer() 
    { 
     return $this->hasMany('App\Job','customer_id','id'); 
    } 
} 

class JobDetail extends Model 
{ 
    // 
} 

ich versuchte, das unten stehende Abfrage aber seine werfen Fehler wie Call to undefined relationship [customer] on model [App\Job].

Meine Abfrage auszuführen:

$data = Job::with(['job_details','customer'])->get(); 

können einige Körper Schlage mir vor, wie schließe ich diese Modelle an und bekomme die Daten? Danke!

Antwort

0

Sie haben in Ihrem Modell Job keine Beziehung für customer angegeben.

Also, so etwas wie dies sollte es tun:

public function customer() 
{ 
    return $this->belongsTo('App\Customer','job_id','id'); 
} 
+0

Danke Es hat funktioniert! – 06011991

Verwandte Themen