2016-06-02 3 views
0

Ich versuche, Spalten aus verwandten Modellen auszuwählen, aber ich bin mir nicht ganz sicher, wie man es mit Eloquent macht (ich möchte den DB-Namespace vermeiden).Auswählen von Spalten aus eifrig geladenen Laravel-Modellen

Das ist, was ich bisher haben ...

$users = User::with("role", "country") -> select(["first_name", "last_name", "email_address"]); 

Wie würde ich mich über die Auswahlliste zu modifizieren, so dass es auch role.title und country.name enthält?

So im Wesentlichen, meine Select-Liste würde wie folgt aussehen:

-> select(["first_name", "last_name", "email_address", "role.title", "country.name"]);  

Vielen Dank!

Antwort

0

Haben Sie versucht,

User::with(['role' => function ($query) { 
    $query->select('title'); 
}])->with(['country' => function ($query) { 
    $query->select('name'); 
}])->get(); 

oder

User::with([ 
    'role' => function ($query) { 
     $query->select('title'); 
    }, 
    'country' => function ($query) { 
     $query->select('name'); 
    } 
])->get();