2016-04-03 3 views
1

は、チーム - ユーザーの関係は次のとおりです。選択した属性の配列のみを取得するには?私はチームのユーザ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() 

をしかし、私は代わりにオブジェクトの配列を取得します[1、5、7、8]のような単純な配列のuser_idを取得するにはどうすればよいですか?代わりにget()

enter image description here

+0

$ team-> users() - >リスト( 'user_id') 'または' $ team-> users() - >リスト( 'user_id' - > all() 'を試してください。 – lesssugar

答えて

0

pluck()メソッドを使用する必要があります。

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

それはdepracatedであり、削除されるようにまた、lists()を使用しないでください:

非推奨

次の機能は、5.2では非推奨とされており、を に削除されます5.3リリース(2016年6月)

コレクション、クエリビルダ、およびEloquentクエリ ビルダーオブジェクトのlistsメソッドの名前がpluckに変更されました。メソッドシグネチャ は同じままです。

2

lists()を使用しています。このように:

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

lists()呼び出しは、データのみを取得することを意味し、そしてall()は配列ではなく、コレクションにそれを作ります。

関連する問題