如何只获取所选属性的数组?

时间:2016-04-03 14:07:08

标签: laravel laravel-5.2

我正在尝试获取团队的用户ID,团队 - 用户关系是:

public function users()
    {
        return $this->belongsToMany('users', 'team_user_table', 'team_id','user_id');
    }

我尝试获取user_ids列表:

$user_ids= $team->users()->select('user_id')->get()

但是我得到了一些对象,而不是图像中的简单ID 我怎样才能得到像[1,5,7,8]这样的简单user_id数组?

enter image description here

2 个答案:

答案 0 :(得分:2)

而不是get(),请使用lists()。像这样:

$user_ids = $team->users()->lists('user_id')->all();

lists()调用意味着只获取数据,all()使其成为数组而不是集合。

答案 1 :(得分:0)

您应该使用pluck()方法。

$user_ids = $team->users()->pluck('user_id')->all();

此外,请不要使用lists(),因为它是depracated并将被删除:

  

<强>弃用

     

5.2中不推荐使用以下功能,将被删除   2016年6月的5.3版本

     

Collection,query builder和Eloquent查询的lists方法   构建器对象已重命名为pluck。方法签名   保持不变。