在 where 子句中未获取 id - Laravel 5.2


Not getting the id in where clause - Laravel 5.2

我需要获取带有特殊ID的记录,我的方法中有这个:

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());它返回一个空数组。

知道为什么吗?

将其更改为(其中)

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

让我们看看会发生什么

$subject你有idsubject_id。您可能只想subject_id.

所以改变这个:StudentMark::where('subject_id', $subject)->get()

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