Laravel 如何仅获取选定属性的数组?
我正在尝试获取团队的用户ID,团队-用户关系为:Laravel 如何仅获取选定属性的数组?,laravel,laravel-5.2,Laravel,Laravel 5.2,我正在尝试获取团队的用户ID,团队-用户关系为: public function users() { return $this->belongsToMany('users', 'team_user_table', 'team_id','user_id'); } 我尝试获取用户ID列表: $user_ids= $team->users()->select('user_id')->get() 但我得到的是对象数组,而不是像图中那样的简单ID
public function users()
{
return $this->belongsToMany('users', 'team_user_table', 'team_id','user_id');
}
我尝试获取用户ID列表:
$user_ids= $team->users()->select('user_id')->get()
但我得到的是对象数组,而不是像图中那样的简单ID
我怎样才能得到像[1,5,7,8]这样的简单用户id数组
使用lists()
而不是get()
。像这样:
$user_ids = $team->users()->lists('user_id')->all();
lists()
调用意味着只获取数据,而all()
将其放入数组而不是集合。您应该使用方法
另外,不要按原样使用列表(),否则会被删除:
反对意见
以下功能在5.2中被弃用,将在中删除
2016年6月发布的5.3版本:
集合上的lists方法、查询生成器和雄辩查询
生成器对象已重命名为Pull。方法签名
保持不变
尝试$team->users()->列表('user\u id')
或$team->users()->列表('user\u id'->all()
)。
$user_ids = $team->users()->pluck('user_id')->all();