2017-05-30 10 views
0

Ich habe diese Modelle mit den zugehörigen DB-Tabellen, im Moment kann ich all die Anforderung abrufenLaravel Abrufen von Werten aus Fremdschlüssel

Requirement::all() 

aber ich habe nur eine Liste von foreigns Schlüsseln (destination_ID, applier_id, doc_id). Wie kann ich direkt die mit diesem Fremdschlüssel verbundene Zeile abrufen?

class Requirement extends Model 
    { 
    protected $fillable = [ 
     'required', 
     'destination_id', 
     'applier_id', 
     'doc_id' 
    ]; 

    public function destination() 
    { 
     return $this->belongsTo(Destination::class); 
    } 

    public function applier() 
    { 
    return $this->belongsTo(Applier::class); 
    } 

    public function doc() 
    { 
    return $this->belongsTo(Doc::class); 
    } 
} 



class Doc extends Model 
{ 
    protected $fillable = [ 
     'type', 
     'description', 
     'note' 
    ]; 

    public function requirements() 
    { 
     return $this->hasMany(Requirement::class); 
    } 
} 



class Destination extends Model 
{ 
    protected $fillable = [ 
     'country', 
     'passying_country', 
     'transfer_conditions', 
     'passing_conditions' 
    ]; 

    public function requirements() 
    { 
     return $this->hasMany(Requirement::class); 
    } 
} 

Antwort

1

Sie können with() Funktion anstelle von all() nennen. Also, wenn Sie versuchen, diese folgende:

$requirements = Requirement::with('destination', 'applier', 'doc')->get(); 

Machen Sie es dd($requirements) und die Ausgabe aussehen.

Ich hoffe, es wird funktionieren.

+0

Sehr gute Lösung. Es gibt zurück, was ich will, aber auch die Liste der Fremdschlüssel selbst, ich tring, um das zu vermeiden() aber funktioniert nicht –

+0

Wenn Sie denken, dass meine Antwort für Sie hilfreich ist, machen Sie es bitte Trick als Antwort. Vielen Dank. –

Verwandte Themen