Laravel Nova: добавление номеров строк (не идентификаторов) к ресурсам Laravel Nova


Laravel Nova: добавление номеров строк (не идентификаторов) к ресурсам Laravel Nova

26.09.2020 02:24:08 Просмотров 15 Источник

Я хочу знать, есть ли какой-нибудь способ иметь номер строки (а не идентификатор) рядом с полем ID на страницах ресурсов?

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

Ответы - Laravel Nova: добавление номеров строк (не идентификаторов) к ресурсам Laravel Nova / Laravel Nova: Add row numbers (NOT ID) to the Laravel Nova resources

Origami1024

28.09.2020 10:48:29

Хакерское решение состояло бы в том, чтобы хранить переменную счетчика в объекте $request и увеличивать/возвращать значение счетчика с закрытием в текстовом поле.

public function fields(Request $request)
{
    if (!$request->count) {
        $request->count = 0;
    }
    return [
        Text::make('#', function () use ($request) {
            $request->count += 1;
            return $request->count;
        }),

        ID::make()->sortable(),
        Text::make('Name')->sortable()->rules('required', 'max:255'),
        ...
    ];
}
Является ответом!
Majid Alaeinia

29.09.2020 11:05:48

Вот решение , которое я нашел на основе ответаOrigami1024, его/ее ответ просто поддерживает первую страницу и не учитывает страницы разбиения на страницы. Вот решение, основанное на его/ее ответе:

public function fields(Request $request)
{
        if (!$request->count) {
            $request->count = 0;
        }
        return [
            Text::make('#', function () use ($request) {
                $request->count += 1;

                $rowNumber = $request->page == 1 ? $request->count : $request->count + ($request->perPage * ($request->page - 1));
                return $rowNumber;
            })->onlyOnIndex(),
            ID::make()->sortable(true),
            Text::make('name'),
            ...
        ];


}
Помочь в развитии проекта:
Закрыть X