Данные не попадают в базу данных

Я пытаюсь отправить данные в базу данных, но, к сожалению, возвращается ноль... Кнопка с type="submit" работает хорошо, она сохраняет все оценки студента одновременно, но кнопка сохраняет по одному предмету за раз. тот, у которого есть класс «SaveSingleSubject», возвращает значение null в полях «example_work», «class_work», «test_work»… в чем проблема код блейда

@if (!empty($getStudent) && !empty($getStudent->count()))
    @foreach ($getStudent as $student)
        <form name = "post" class = "SubmitForm">
            {{csrf_field()}}
            <input type = "hidden" name = "student_id" value = "{{$student->id}}">
            <input type = "hidden" name = "exam_id" value = "{{Request::get('exam_id')}}">
            <input type = "hidden" name = "class_id"
                   value = "{{Request::get('class_id')}}">
            <tr>
                <td>{{$student->name}}{{$student->last_name}}</td>
                @php
                    $i = 1;
                @endphp
                @foreach ($getSubject as $subject)
                    @php
                        $getMark = $subject->getMark($student->id, Request::get('exam_id'), Request::get('class_id'), $subject->subject_id);
                    @endphp
                    <td>
                        <div style = "margin-bottom: 10px;">
                            Class Work
                            <input type = "hidden" name = "mark[{{$i}}][subject_id]"
                                   value = "{{$subject->subject_id}}" style = "width: 200px;"
                                   class = "form_control" placeholder = "Enter Marks">
                            <input type = "text" name = "mark[{{$i}}][class_work]"
                                   id = "class_work_{{$student->id}}{{$subject->id}}"
                                   style = "width: 200px;" class = "form_control"
                                   placeholder = "Enter Marks"
                                   value = "{{!empty($getMark->class_work) ? $getMark->class_work : ''}}">
                        </div>
                        <div style = "margin-bottom: 10px;">
                            Home Work
                            <input type = "text" name = "mark[{{$i}}][home_work]"
                                   id = "home_work_{{$student->id}}{{$subject->id}}"
                                   style = "width: 200px;" class = "form_control"
                                   placeholder = "Enter Marks"
                                   value = "{{!empty($getMark->home_work) ? $getMark->home_work : ''}}">
                        </div>
                        <div style = "margin-bottom: 10px;">
                            Test Work
                            <input type = "text" name = "mark[{{$i}}][test_work]"
                                   id = "test_work_{{$student->id}}{{$subject->id}}"
                                   style = "width: 200px;" class = "form_control"
                                   placeholder = "Enter Marks"
                                   value = "{{!empty($getMark->test_work) ? $getMark->test_work : ''}}">
                        </div>
                        <div style = "margin-bottom: 10px;">
                            Exam Work
                            <input type = "text" name = "mark[{{$i}}][exam_work]"
                                   id = "exam_work_{{$student->id}}{{$subject->id}}"
                                   style = "width: 200px;" class = "form_control"
                                   placeholder = "Enter Marks"
                                   value = "{{!empty($getMark->exam_work) ? $getMark->exam_work : ''}}">
                        </div>

                        <div style = "margin-bottom: 10px;">
                            <button type = "button"
                                    class = "btn btn-primary SaveSingleSubject"
                                    id = "{{$student->id}}"
                                    data-val = "{{$subject->subject_id}}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        "
                                    data-exam = "{{Request::get('exam_id')}}"
                                    data-class = "{{Request::get('class_id')}}">Save
                            </button>
                        </div>
                    </td>
                    @php
                        $i++;
                    @endphp
                @endforeach
                <td>
                    <button type = "submit" class = "btn btn-success">Save</button>
                </td>
            </tr>
        </form>
        @endforeach
        @endif


        </tbody>
        </table>
        </div>
        </div>
        @endif


        <script type = "text/javascript">
            $('.SubmitForm').submit(function (e) {
                e.preventDefault();
                $.ajax({
                    type: "POST",
                    url: "{{url('admin/examinations/submit_marks_register')}}",
                    data: $(this).serialize(),
                    dataType: "json",
                    success: function (data) {
                        alert(data.message);
                    }
                });
            });

            $('.SaveSingleSubject').click(function (e) {
                var student_id = $(this).attr('id');
                var subject_id = $(this).attr('data-val');
                var exam_id = $(this).attr('data-exam');
                var class_id = $(this).attr('data-class');
                var class_work = $('#class_work_' + student_id + subject_id).val();
                var home_work = $('#home_work_' + student_id + subject_id).val();
                var test_work = $('#test_work_' + student_id + subject_id).val();
                var exam_work = $('#exam_work_' + student_id + subject_id).val();


                $.ajax({
                    type: "POST",
                    url: "{{url('admin/examinations/single_submit_marks_register')}}",
                    data: {
                        "_token": "{{csrf_token()}}",
                        student_id: student_id,
                        subject_id: subject_id,
                        exam_id: exam_id,
                        class_id: class_id,
                        class_work: class_work,
                        home_work: home_work,
                        test_work: test_work,
                        exam_work: exam_work,


                    },
                    dataType: "json",
                    success: function (data) {
                        alert(data.message);
                    }
                });
            });


        </script>
        </body>

        </html>

файл контроллера-> это файл контроллера

 public function single_submit_marks_register(Request $request)
    {

        \Log::info('Request Data:', $request->all());
        $class_work = !empty($request->class_work) ? $request->class_work : 0;
        $home_work = !empty($request->home_work) ? $request->home_work : 0;
        $test_work = !empty($request->test_work) ? $request->test_work : 0;
        $exam_work = !empty($request->exam_work) ? $request->exam_work : 0;

        $getMark = marksregistermodel::CheckAlreadyMark($request->student_id, $request->exam_id, $request->class_id, $request->subject_id);
        if (!empty($getMark)) {
            $save = $getMark;
        } else {
            $save = new marksregistermodel;
            $save->created_by = Auth::user()->id;
        }

        $save->student_id = $request->student_id;
        $save->exam_id = $request->exam_id;
        $save->class_id = $request->class_id;
        $save->subject_id = $request->subject_id;
        $save->class_work = $class_work;
        $save->home_work = $home_work;
        $save->test_work = $test_work;
        $save->exam_work = $exam_work;

        $save->save();

        $json['message'] = "Mark Register Successfully Saved";
        echo json_encode($json);
    }

журналы ошибок Ниже приведены журналы, которые я получаю, когда я нажимаю кнопку «Сохранить», class_id, subject_id, Student_id работают нормально, но остальные возвращают ноль.

[2024-07-23 14:58:57] local.INFO: Request Data: {"_token":"NUxJAZgGntTF65oczF8elM3fudmIxTjYPqY5OyN4","student_id":"34","subject_id":"11","exam_id":"2","class_id":"4","class_work":null,"home_work":null,"test_work":null,"exam_work":null} 
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Трудно сказать, в чем проблема, но я думаю, что если вы пытаетесь сопоставить идентификаторы своих входов, вот:

<button type = "button"
  class = "btn btn-primary SaveSingleSubject"
  id = "{{$student->id}}"
  data-val = "{{$subject->subject_id}}"
  data-exam = "{{Request::get('exam_id')}}"
  data-class = "{{Request::get('class_id')}}">Save
</button>

data-val = "{{$subject->subject_id}}" должно быть data-val = "{{$subject->id}}". Почему у темы должно быть поле subject_id, разве оно не должно быть id, как при вводе? Вы проверили, является ли этот data-val нулевым?

Таким образом, он должен соответствовать id = "exam_work_{{$student->id}}{{$subject->id}}" в введенных вами данных.

Также еще одной вещью было бы разделить идентификатор студента с идентификатором предмета, например:

id = "exam_work_{{$student->id}}_{{$subject->id}}"

поскольку в противном случае у вас может быть, например, студент с идентификатором = 12 и идентификатором предмета = 15, создайте тот же идентификатор для студента с идентификатором = 121 и идентификатором предмета = 5.

Другие вопросы по теме