2016-02-29 2 views
1

мне нужно, чтобы получить запись со специальным идентификатором и у меня есть это в мой метод:Не получать идентификатор в том, где пункт - Laravel 5,2

public function addedMark() 
{ 
    $user = Auth::user(); 
    $subject = ClassSubject::where('teacher_id', $user->id)->pluck('id','subject_id'); 

    return view('educator.account.marks', [ 
     'user' => $user, 
     'marks' => StudentMark::where('subject_id', $subject)->get() 
    ]); 
} 

Когда я делать dd(ClassSubject::where('teacher_id', $user->id)->pluck('id','subject_id')); я вижу, что я получаю информацию что мне нужно, но когда я делаю dd(StudentMark::where('subject_id', $subject)->get());, он возвращает пустой массив.

Любая идея, почему?

ответ

1

Изменить его (где)

'marks' => StudentMark::whereIn('subject_id', $subject)->get() 

и пусть посмотрите, что произойдет

+0

, который получает меня только id1, мне нужен id 1 и id 2 –

+0

о, я сделал это, да, вы правы, спасибо! –

+0

Добро пожаловать – oseintow

1

В $subject у вас есть id и subject_id. Вы можете просто взять subject_id.

Так это изменить: StudentMark::where('subject_id', $subject)->get()

в

StudentMark::where('subject_id', $subject[1])->get()

+0

Попробуйте с '$ субъект- > subject_id' или '$ subject ['subject_id]'. У меня на мобильном телефоне, поэтому я не тестировал это. –

+0

Оба не работают. Я получаю ** Неопределенное свойство ** –

+0

Что вы получаете, когда вы 'dd ($ subject)'? –

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