Tôi có hai bảng, Uservà Post. Một người Usercó thể có nhiều postsvà một chỉ postthuộc về một user.
Trong Usermô hình của tôi, tôi có một hasManymối quan hệ ...
public function post(){
    return $this->hasmany('post');
}
Và trong postmô hình của tôi, tôi có một belongsTomối quan hệ ...
public function user(){
    return $this->belongsTo('user');
}
Bây giờ tôi muốn tham gia hai bảng này bằng cách sử dụng Eloquent with()nhưng muốn các cột cụ thể từ bảng thứ hai. Tôi biết tôi có thể sử dụng Trình tạo truy vấn nhưng tôi không muốn.
Khi trong Postmô hình tôi viết ...
public function getAllPosts() {
    return Post::with('user')->get();
}
Nó chạy các truy vấn sau ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
Nhưng điều tôi muốn là ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
Khi tôi sử dụng ...
Post::with('user')->get(array('columns'....));
Nó chỉ trả về cột từ bảng đầu tiên. Tôi muốn các cột cụ thể sử dụng with()từ bảng thứ hai. Làm thế nào tôi có thể làm điều đó?
$query->select('id','username');, tôi đã nhận đượcTrying to get property of non-object