I have three tables, places, place_user, users. I want to list users according to the place_user table in Place model by using the has_many_and_belongs_to method. But i don’t want to select all columns of users. I tried to do by below:
Place::find(1)->users()->get(array('name','email'));
Also:
Place::find(1)->users()->first(array('name','email'));
but they didn’t work.
What is the best way to handle this?
Place model:
class Place extends Eloquent {
public static $timestamps = true;
public function users() {
return $this->has_many_and_belongs_to('user');
}
}
User model:
class User extends Eloquent {
public static $timestamps = true;
public function get_updated_at_readable() {
return date('d.m.Y / H:i:s', strtotime($this->get_attribute('updated_at')));
}
public function get_created_at_readable() {
return date('d.m.Y / H:i:s', strtotime($this->get_attribute('updated_at')));
}
public function places() {
return $this->has_many_and_belongs_to('place','place_user');
}
}
Thanks.
Still, not working with get, first methods but select method is working: