Как сохранить объект в базе данных, используя laravel - PullRequest
0 голосов
/ 26 апреля 2020

Ниже мой Js, я использовал его для получения данных из таблицы данных

$("#mark_attendance").on("click", function(event) {
        event.preventDefault();
        var table = $("#attendance_table").DataTable();
        let attendance_status = [];
        $("select[name='attendance_status[]']").each(function() {
            attendance_status.push($(this).val());
        });

        let attendance_date = [];
        $("input[name='attendance_date[]']").each(function() {
            attendance_date.push($(this).val());
        });

        var data = table
            .rows()
            .data()
            .toArray();

         data = data.map((item,i)=>{
            return {
                attendance_status: attendance_status[i],...item,
            }
        })

       var  attendance_data = data.map((item,i)=>{
            return {
                attendance_date: attendance_date[i],...item
            }
        })

        // attendance_data.forEach(function(payload){
            $.ajax({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                type: 'post',
                url: "/store/attendance",
                data:   {attendance_data: data},
                dataType: 'json',  
                success: function(data) {
                    console.log(data);
                },
                error: function() {
                    console.log("Error");
                }
            });
        // });


    });

Ниже мой контроллер

 public function storeAttendance(Request $request)
    {

        $data = $request->all();

        return response()->json('$data');
    }

Я получаю объект ниже в моей консоли после щелчок запускает четные

{Participance_data: Array (3)} Participance_data: Array (3) 0: {Participance_status: "false", id: "1", имя сотрудника: "Администратор", идентификатор отдела: "2" } 1: {serveance_status: "false", id: "2", employee_name: "User", отдела_id: "1"} 2: {Participance_status: "false", id: "3", employee_name: "Chinyere Lynda", отдел_ид: "1"}

1 Ответ

0 голосов
/ 27 апреля 2020

Самый простой подход:

  • Определите имя ваших html входных данных точно так же, как атрибуты вашей модели
  • Go для вашей Модели и определите $fillable массив, поместите туда каждый атрибут, который вы хотите сохранить здесь (посмотрите здесь )
  • сделайте простой l oop в функции вашего контроллера таким образом:

$ посещаемость = $ request-> all ();

foreach ($ посещаемость как $ посещаемость) {

Attendance :: create ($ посещаемость);

}

...