Как создать сводную таблицу для двух пользователей (преподавателей, студентов), получающих доступ к той же таблице курса, что и asggned, и зачисленных в нее с помощью Laravel
У меня есть проблема в создании структуры базы данных, которая будет поддерживаться laravel по вышеуказанной теме. Структура моих таблиц такова.
пользовательская таблица:
- Имя
- Тип
- Электронная почта
- Пароль
Курс
- Имя
- Описание
Я использую единую таблицу пользователей для аутентификации как преподавателей, так и студентов, когда они входят в систему. Столбец " тип " используется для определения типа пользователя, т. е. администратора, преподавателя и студента.
Теперь вопрос встает сам собой. Системные требования таковы::
Требования
- Списки курсов с указанием назначенных преподавателей на курсе
- Преподавателям назначаются курсы администраторами
- Учителя записывают учеников в свой класс
- Студенты будут видеть свои курсы после зачисления, показывая преподавателю курса тоже.
Как я могу построить сводную таблицу для этого сценария в laravel, потому что, согласно моей идее, это то, что я имею в виду.
course_user
- идентификатор_курса
- идентификатор пользователя
Но я не знаю, как определить, что этот курс назначен этому учителю, и этот Учитель записал этого студента на этот конкретный курс, используя ту же сводную таблицу.
Пожалуйста, помогите просветить меня.
Спасибо....
Ответы - Как создать сводную таблицу для двух пользователей (преподавателей, студентов), получающих доступ к той же таблице курса, что и asggned, и зачисленных в нее с помощью Laravel / How to create pivot table for two users (teachers, students) accessing the same Course table as asiggned to and enrolled to using Laravel

24.12.2019 09:25:27
Создайте две функции связи с дополнительным фильтром, как это:
class Course extends Model
{
...
public function teachers()
{
return $this->belongsToMany(User::class)->where('type', '=', User::TEACHER);
}
public function students()
{
return $this->belongsToMany(User::class)->where('type', '=', User::STUDENT);
}
}
Я предполагаю, что вы используете константы класса в пользовательском классе.
