Uzyskaj konkretne kolumny przy użyciu funkcji „Z ()” w Laravel Eloquent

Mam dwa stoły,User iPost. JedenUser może mieć wieleposts i jedenpost należy tylko do jednegouser.

W moimUser model mamhasMany relacja...

public function post(){
    return $this->hasmany('post');
}

W moimpost model mambelongsTo relacja...

public function user(){
    return $this->belongsTo('user');
}

Teraz chcę dołączyć do tych dwóch tabel za pomocąEloquent with() ale chcę konkretnych kolumn z drugiej tabeli. Wiem, że mogę korzystać z Konstruktora zapytań, ale nie chcę.

Kiedy wPost model Piszę ...

public function getAllPosts() {
    return Post::with('user')->get();
}

Uruchamia następujące zapytania ...

select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)

Ale ja chcę ...

select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)

Kiedy używam ...

Post::with('user')->get(array('columns'....));

Zwraca tylko kolumnę z pierwszej tabeli. Chcę używać konkretnych kolumnwith() z drugiej tabeli. Jak mogę to zrobić?

questionAnswers(9)

yourAnswerToTheQuestion