2015-05-03 3 views
0

Я пытаюсь перебрать Еогеасп в моей регистрации контроллера в следующемЕогеасп в контроллере Laravel

 $subjectStartID = Input::get('substID'); 

     $subjectStart = SubjectStart::find($subjectStartID); 

    //To get division_ids by the relationships using SubjectStartID 
     $divisionIDs =$subjectStart->teachersubject->subject->divisions ; 

    // loop over $divisionIDs to get div_ids 
    foreach ($divisionID as $div) 
     { 
      $div->id ; 
     } 

     return var_dump($div->id); 

ИЛИ

 return var_dump([$div->id]); 

The isuue, что результат выполнения цикла получить последний идентификатор только,
например , если div_ids (1,2) результат (2)

Мне нужно, чтобы получить div_ids, чтобы использовать его в следующий joinQuery

$check = Registration::join('student', 'student.id' ,'=' , 'registration.student_id') 
         ->join('division', 'division.id' ,'=' , 'student.division_id') 
         ->where('student.id' , $registerID->student_id) 
         ->whereIn('student.division_id',[$div->id])->get(); 

Любые предложения?

+1

Извините, но что вы делаете внутри 'foreach'? – DigitalDouble

ответ

1

Я не могу сказать о laravel, но с точки зрения php вы должны использовать контейнерный массив для хранения всех идентификаторов, возвращаемых в цикле foreach.

имхо, так что ваш код должен выглядеть следующим образом ...

$subjectStartID = Input::get('substID'); 

    $subjectStart = SubjectStart::find($subjectStartID); 

//To get division_ids by the relationships using SubjectStartID 
    $divisionIDs =$subjectStart->teachersubject->subject->divisions ; 



$studivs = array(); 
// loop over $divisionIDs to get div_ids 
foreach ($divisionID as $div) 
    { 
    $studivs[] = $div->id ; 
    } 

Так что теперь переменная $studivs имеет все идентификаторы, которые вам нужны.

+0

Awesome, спасибо 9kSoft за помощь сейчас foreach хорошо работает –

+1

Добро пожаловать, и почему бы не принять мой ответ? –

+1

извините, теперь ваш ответ принят –

Смежные вопросы