如何使用AJAX从数据库中获取最后一个记录



我正在使用ajax从数据库中获取一些学生数据。而且我在Ajax内部有单独的标记,以使该数据显示在表中。现在,我想做的是在顶部获得最后的插入记录或最新记录,但我不知道该怎么做。我使用sortByDesc((函数,但在这种情况下这不起作用。以下是我的代码。帮助:(

ajax调用

                var classID = $(this).val();
                if (classID) {
                    $.ajax({
                        url: '/attendance/ajax/' + classID,
                        type: "GET",
                        dataType: "json",
                        success: function (data) {
                            var table = $('table[id="studentsData"]');
                            table.DataTable().destroy();
                            var markup = '';
                            markup = '<thead><tr><th style="width: 2%" class="align-middle text-center"><input type="checkbox" id="options"></th><th style="width: 15%" class="text-center">Student ID</th> <th style="width: 15%" class="text-center">Student Name</th> <th style="width: 15%" class="text-center">Attendance</th> <th style="width: 15%" class="text-center">Date</th> <th style="width: 15%;" class="align-middle text-center">Actions</th> </tr></thead><tbody>';
                            $.each(data, function (key, value) {
                                markup += '<tr> <td><input class="checkBoxes" type="checkbox" name="checkBoxArray[]" value="' + value.id + '"></td> <td class="text-center align-middle"><input type="hidden" value="' + value.student_id + '" name="student_id[]">' + value.student_id + '</td> <td class="text-center align-middle"><input type="hidden" value="' + value.first_name + '" name="first_name[]"><input type="hidden" value="' + value.last_name + '" name="last_name[]">' + value.first_name + ' ' + value.last_name + '<td class="text-center align-middle"><input type="hidden" value="' + value.attendance + '" name="attendance[]">' + value.attendance + '</td>' + '<td class="text-center align-middle"><input type="hidden" value="' + value.date + '" name="date[]">' + value.date + '</td>' + '<td style=" width=12%" class="text-center"> <a data-toggle="modal" data-target="#editAttendanceModal' + value.id + '"><button title="Edit" class="btn btn-primary"><span class="fas fa-pencil-alt"></span></button></a>  <a data-toggle="modal" data-target="#deleteAttendanceModal' + value.id + '"><button title="Delete" class="btn btn-danger"><span class="fas fa-trash-alt"></span></button></a> </td>' + '</td> </tr>';
                            });
                            markup += '</tbody>';
                            var table = $('table[id="studentsData"]');
                            table.html(markup);
                            table.DataTable();
                        }
                    });
                }
            });
**Controller**
public function myAttendanceAjax($id) {
        $students_register = StudentsAttendance::where('class_id', $id)->get();
        return json_encode($students_register);
    }

您可以使用orderbody('id','desc'( -> get((;获取最新记录。

有一个方法latest()在照明 database query builder类中定义。

public function latest($column = 'created_at')
{
    return $this->orderBy($column, 'desc');
} 

因此,它将仅使用您以discender Order提供的列来订购,并将创建默认列。

有关排序的更多信息,请查看https://laravel.com/docs/5.8/queries#ordering-grouping-limit-and-limit-and-offset

最新更新