2016-04-03 6 views
1

, takım - Kullanıcı ilişkisidir:Sadece seçili nitelikler dizisi nasıl alınır? Bir takımın kullanıcıların kimliklerini almak çalışıyorum

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

Ben user_ids listesini elde etmeye çalışmak:

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

Ama bunun yerine nesnelerin dizisini almak Görüntüdeki gibi basit kimliklerin kullanılması [1, 5, 7, 8] gibi basit bir user_id dizisini nasıl alabilirim? Yerine get() ait

enter image description here

+0

'Ekip' kullanıcıları deneyin() -> listeler ('kullanıcı_kimliği') veya '$ ekip-> kullanıcı() -> listeler (' kullanıcı_kimliği '-> tüm() '. – lesssugar

cevap

0

pluck() yöntemini kullanmalısınız.

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

o depracated ve kaldırılamaz gibi Ayrıca lists() kullanmayın:

deprecations

Aşağıdaki özellikler 5.2'de kaldırıldığını ve kaldırılacaktır Haziran 2016'da 5.3 sürümü:

Koleksiyon, sorgu oluşturucu ve Eloquent sorgusundaki oluşturucu nesnesindeki listeler yöntemi, çoğaltma amacıyla yeniden adlandırıldı. yöntem imzası aynı kalır.

2

, lists() kullanın. Şunun gibi:

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

lists() arama yalnızca veri almak için anlamına gelir ve all() bir dizi yerine bir koleksiyona yapar.

İlgili konular