Мне нужно создать одну цель, в которой есть раскрывающийся список с множественным выбором, в котором разные отделы могут иметь одну и ту же цель. Я хотел создать таблицу отношений с таким выводом.
Department Table
id | name
1 Science Department
2 Math Department
3 Biology Department
Objective Table
id | name
1 Be the best
Relationship Table
objective_id | department_id
1 1
1 2
1 3
Это то, что я думаю внутри контроллера.
public function store(Request $request) {
$objective = Objective::updateOrCreate(
[ 'id' => $request->id ?? null ],
[ 'name' => $request->name ]
);
// From multiple select drop down
foreach($request->departments as $department) {
RelationshipTable::updateOrCreate(
[ // what should be the case? ],
[
'objective_id' => $objective->id,
'department_id' => $department['id'],
]
);
}
}
Я не уверен, как бы я определил это в модели и как я мог бы назвать их отношения внутри ресурс. Я даже думаю, что мой контроллер не так или есть лучшие способы добиться этого?