Как создать сводную таблицу для двух пользователей (преподавателей, студентов), получающих доступ к той же таблице курса, что и asggned, и зачисленных в нее с помощью Laravel

Как создать сводную таблицу для двух пользователей (преподавателей, студентов), получающих доступ к той же таблице курса, что и asggned, и зачисленных в нее с помощью Laravel

24.12.2019 08:34:21 Просмотров 35 Источник

У меня есть проблема в создании структуры базы данных, которая будет поддерживаться 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

Является ответом!
artoodetoo

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);
    }
}

Я предполагаю, что вы используете константы класса в пользовательском классе.

https://stackoverflow.com/questions/59471888/how-to-create-pivot-table-for-two-users-teachers-students-accessing-the-same/59472289#comment105124285_59472289
Означает ли это, что я могу использовать сценарий "много ко многим" в своей usecase?
Закрыть X