Laravel - Сохранение объекта с потомками от другого объекта - PullRequest
0 голосов
/ 14 июля 2020

У меня есть список процессов / дел, применимый к студентам. Это таблица процессов, таблица process_tasks для дочерних задач, затем таблица студентов, таблица process_student для процессов студентов, а также таблица process_task_student для соответствующих задач.

Например, «регистрация студента» процесс , с задачами процесса :

  1. Введите данные ученика
  2. Сохраните файл ученика где-нибудь
  3. Отправьте ученику электронное письмо

Модель процесса

public function tasks() {
    return $this->hasMany('App\ProcessTask');
}

Модель ученика

public function processes() {
    return $this->belongsToMany('App\Process')->withTimestamps();
}

Когда я создаю ученика, я создаю необходимый процесс / список дел для ученика:

    $student = Student::create($request->all());
    $process = Process::findOrFail(1);
    $student->processes()->attach($process);

Однако, как мне прикрепить к ученику все задачи процесса $ process (1)?

Попытка 2: (Не работает - ничего в process_task_student)

    $process = Process::findOrFail(1);
    $process->load('tasks');
    $student->processes()->attach($process);
    $student_process = $student->processes()->wherePivot('process_id', 1)->first();
    $student_process->tasks()->saveMany($process->tasks);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...