Laravel-datatables: bagaimana mengatur urutan default

Dibuat pada 2 Feb 2016  ·  6Komentar  ·  Sumber: yajra/laravel-datatables

bagaimana mengatur urutan default?
ex id kolom data pesanan default

Komentar yang paling membantu

Jika Anda menggunakan sebagai layanan, dalam metode html(), pada parameter array gunakan

/**
     * Optional method if you want to use html builder.
     *
     * <strong i="6">@return</strong> \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())
            ->parameters([
                'order' => [
                    0, // here is the column number
                    'desc'
                ]
           ]);

Semua 6 komentar

Ikuti https://datatables.net/reference/option/order ini dan cukup gunakan indeks kolom yang tepat.

Terima kasih

Jika Anda menggunakan sebagai layanan, dalam metode html(), pada parameter array gunakan

/**
     * Optional method if you want to use html builder.
     *
     * <strong i="6">@return</strong> \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())
            ->parameters([
                'order' => [
                    0, // here is the column number
                    'desc'
                ]
           ]);

Ikuti https://datatables.net/reference/option/order ini dan cukup gunakan indeks kolom yang tepat.

Ini tidak benar-benar menyelesaikan urutan default untuk kueri, misalnya jenis default yang berasal dari model Eloquent... jika perlu mengulang halaman pertama untuk mencegah lompatan halaman, maka urutan akan diatur ulang setelah panggilan AJAX pertama untuk menyortir

Ikuti https://datatables.net/reference/option/order ini dan cukup gunakan indeks kolom yang tepat.

Ini tidak benar-benar menyelesaikan urutan default untuk kueri, misalnya jenis default yang berasal dari model Eloquent... jika perlu mengulang halaman pertama untuk mencegah lompatan halaman, maka urutan akan diatur ulang setelah panggilan AJAX pertama untuk menyortir

Apakah ini masuk akal? Apakah ada solusi atau metode standar? Saya masih kesulitan mencari info ini

Ide ini adalah agar $query berakhir dengan default yang sama dengan AJAX, misalnya untuk merender halaman pertama.

Berikut adalah cara untuk meretas fungsionalitas, tetapi tampaknya tidak ideal sama sekali:

if (!request()->ajax() && !request()->get('order')) {
    $query = $query->orderBy('column_name', 'desc');
}

$dataTable = DataTables::eloquent($query);

if (request()->ajax() && !request()->get('order')) {
    $dataTable = $dataTable->order(function($query) {
        $query->orderBy('column_name', 'desc');
    });
}

Bagian sebelum menetapkan $dataTable menangani sisi server, dan bagian setelah menangani AJAX

Harus ada cara yang lebih resmi untuk melakukan ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

t0n1zz picture t0n1zz  ·  3Komentar

hari-web picture hari-web  ·  3Komentar

sangnguyenplus picture sangnguyenplus  ·  3Komentar

Mopster picture Mopster  ·  3Komentar

techguydev picture techguydev  ·  3Komentar