это достаточно чисто, чтобы напрямую вставить данные в сводную таблицу с 3 отношениями внешних ключей, моя логика c, почему я создаю эту сводную таблицу, это для хранения [student_id, subject_id, mark_id, Score] тогда когда-нибудь я смогу редактировать и обновлять сводную таблицу с оценкой ученика? Я ищу мнение по этому вопросу, если я делаю или подхожу к нему неправильно, пожалуйста, скажите мне, или любое предложение для лучшего подхода
Контроллер:
public function Store( Request $request)
{
$subject=$request->subject_id;
$student=$request->student_id;
$mark=$request->mark_id;
$data=[];
foreach($subject as $sb){
foreach($student as $st){
foreach($mark as $mk){
$data[]=StudentSubjectMark::create([
'subject_id'=>$sb,
'student_id'=>$st,
'mark_id'=>$mk
]);
}}}
return $data;
}
Выход:
[
{
"subject_id": "1",
"student_id": "1",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 6
},
{
"subject_id": "1",
"student_id": "1",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 7
},
{
"subject_id": "1",
"student_id": "2",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 8
},
{
"subject_id": "1",
"student_id": "2",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 9
},
{
"subject_id": "1",
"student_id": "3",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 10
},
{
"subject_id": "1",
"student_id": "3",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 11
},
{
"subject_id": "1",
"student_id": "4",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 12
},
{
"subject_id": "1",
"student_id": "4",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 13
},
{
"subject_id": "1",
"student_id": "5",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 14
},
{
"subject_id": "1",
"student_id": "5",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 15
},
{
"subject_id": "1",
"student_id": "6",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 16
},
{
"subject_id": "1",
"student_id": "6",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 17
},
{
"subject_id": "1",
"student_id": "7",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 18
},
{
"subject_id": "1",
"student_id": "7",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 19
},
{
"subject_id": "1",
"student_id": "8",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 20
},
{
"subject_id": "1",
"student_id": "8",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 21
},
{
"subject_id": "1",
"student_id": "9",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 22
},
{
"subject_id": "1",
"student_id": "9",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 23
},
{
"subject_id": "1",
"student_id": "10",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 24
},
{
"subject_id": "1",
"student_id": "10",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 25
},
{
"subject_id": "2",
"student_id": "1",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 26
},
{
"subject_id": "2",
"student_id": "1",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 27
},
{
"subject_id": "2",
"student_id": "2",
"mark_id": "1",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 28
},
{
"subject_id": "2",
"student_id": "2",
"mark_id": "2",
"updated_at": "2020-02-06 01:31:35",
"created_at": "2020-02-06 01:31:35",
"id": 29
}
]