Получение результата из массива идентификаторов в Laravel - PullRequest
0 голосов
/ 06 мая 2020

У меня есть следующая attendance таблица:

id | grade_id | subject_id |    date    |        students
 1 |     2    |      6     | 2020-05-05 | [3,6,8,11,17,21,20,19] 

Я хочу получить все строки с именами всех студентов из массива идентификаторов. Я пробовал:

$result[] = Attendance::where('date', '=', $day)
                ->with('grades', 'subjects')
                ->join('students', function($join) {
                      $join->on('students.id', '=', 'attendances.id')
                           ->where('students.id', '=', 'attendances.students');
                      })->get();

, но не получил результата. Пожалуйста, помогите мне!

1 Ответ

1 голос
/ 21 мая 2020

Это неправильная структура таблицы. Будет лучше, если вы создадите другую таблицу, например,

id | attendance_id | student_id
1  | 1             | 3
1  | 1             | 6

, и установите ее связь в модели с таблицей посещаемости и учениками. Таким образом таблица будет нормализована и будет легко справиться с отношениями.

...