मेरे पास दो टेबल हैं, Userऔर Post। एक Userकई हो सकते हैं postsऔर एक postकेवल एक का है user।
मेरे Userमॉडल में मेरा hasManyरिश्ता है ...
public function post(){
return $this->hasmany('post');
}
और मेरे postमॉडल में मेरा belongsToरिश्ता है ...
public function user(){
return $this->belongsTo('user');
}
अब मैं इन दो तालिकाओं का उपयोग Eloquent with()करना चाहता हूं, लेकिन दूसरी तालिका से विशिष्ट कॉलम चाहते हैं। मुझे पता है कि मैं क्वेरी बिल्डर का उपयोग कर सकता हूं लेकिन मैं नहीं करना चाहता।
जब Postमॉडल में मैं लिखता हूं ...
public function getAllPosts() {
return Post::with('user')->get();
}
यह निम्नलिखित प्रश्नों को चलाता है ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
लेकिन मैं जो चाहता हूं ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
जब मैं उपयोग ...
Post::with('user')->get(array('columns'....));
यह केवल पहली तालिका से कॉलम लौटाता है। मैं with()दूसरी तालिका से विशिष्ट कॉलम का उपयोग करना चाहता हूं । मैं उसे कैसे कर सकता हूँ?
$query->select('id','username');, मैं हो रहा थाTrying to get property of non-object