Как добавить заказ по умолчанию таблицы ListEntries в Backpack для Laravel?


Как добавить заказ по умолчанию таблицы ListEntries в Backpack для Laravel?

29.07.2019 03:27:56 Просмотров 4 Источник

Когда пользователь впервые посещает страницу, таблица ListEntries упорядочивается по возрастанию по идентификатору, и ни один из значков упорядочения в заголовке таблицы не активен.

Я хотел бы, чтобы таблица ListEntries была упорядочена по столбцу по моему выбору, включая наличие значка рядом с этим столбцом активным (либо по возрастанию, либо по убыванию).

Есть ли способ упорядочить таблицу ListEntries по столбцу по моему выбору, когда пользователь посещает страницу?

У вопроса есть решение - Посмотреть?

Ответы - Как добавить заказ по умолчанию таблицы ListEntries в Backpack для Laravel? / How to add a default ordering of ListEntries table in Backpack for Laravel?

tabacitu

31.07.2019 05:23:18

В методе setup() вашего контроллера вы можете использовать:

$this->crud->orderBy('name', 'DESC');

Все, что вы передадите в оператор orderBy(), будет использовано в запросе Eloquent.

По умолчанию столбцы для реальных атрибутов (которые имеют соответствующий столбец в базе данных) должны иметь значение orderable. Но вы также можете вручную указать 'orderable' => true для столбцов или определить свою собственную логику порядка. Обратите внимание, что столбцы отношений (1-n, n-n), model_function или model_function по умолчанию не упорядочиваются, но вы можете сделать их упорядочиваемыми с помощью orderLogic.

Надеюсь, это поможет.

Является ответом!
tjarrett

10.09.2020 05:27:36

Это можно сделать, манипулируя объектом запроса, который может быть неодобрительно воспринят в некоторых кругах.

Это решение также обновит значок заказа в соответствующем столбце.

Существует несколько способов сделать это, но один из них-добавить следующее к методу setupListOperation() вашего контроллера.

/** @var \Illuminate\Http\Request $request */
$request = $this->crud->getRequest();
if (!$request->has('order')) {
    $request->merge(['order' => [
        [
            'column' => 'column-index-here',
            'dir' => 'asc'
        ]
    ]]);
}
Помочь в развитии проекта:
Закрыть X