2017-07-28 16 views
0

キー(class_id)で1つの配列を作成し、このキーに多くのusers_idsを作成する問題があります。私は$ idが数字の単純な配列である関数を持っています。foreachループとsqlの複数の値の1つのキー

array => 
    1 (class_id) => 
    0=> 'user_id' 
    1=> 'user_id', 
    2 (class_id) => 
    0=> 'user_id' 
    1=> 'user_id' 

今私はちょうど1 USER_IDと(これを返すよもっとあるはずです::私はこれを行うためにそれを修正カント

array => 
    1=> 'user_id' 
    2=> 'user_id' 

static function getUsersIdsByClassIds($ids) 
{ 
    $userIds = []; 

    foreach($ids as $classId) { 

     $object = self::select('user_id') 
      ->where('class_id', $classId) 
      ->get(); 

     foreach($object as $sth){ 
      $userIds[$classId]=$sth->user_id; 
     } 
    } 

    return $userIds; 
} 

は、私はこのようなSTHを持ってしようとしています構造私はあなたが各反復に値を上書きし、ここで

foreach($object as $sth){ 
    $userIds[$classId] = $sth->user_id; 
} 

に。

+1

'$ユーザーID [$ CLASSID] [] = $ sth->のuser_idを;' - あなたはそれを上書きしない、それを追加する必要があります。 – Jeff

+0

私の神、そう簡単に!それを受け入れるための回答を追加する – wenus

答えて

2

をしたい。しかし、Y OUには、実際に新しいエントリを追加にしたい:

foreach($object as $sth){ 
       // here it is 
    $userIds[$classId][] = $sth->user_id; 
} 
関連する問題