Действия таблицы Laravel Filament: url() не работает

Я использую Filament для создания таблицы. У меня есть следующие две функции в моем классе Livewire. Функция getTableRecordUrlUsing() работает должным образом.

Функция getTableActions() выводит страницу с сообщением об ошибке «Отсутствует обязательный параметр для [Route: recipe.show] [URI: recipe/{id}] [Отсутствует параметр: id]».


    protected function getTableActions()
    {
        return [
            Action::make('edit')
                ->url(fn (Recipe $r): string => route('recipe.show', ['id' => $r])),
        ];
    }

    protected function getTableRecordUrlUsing()
    {
        return function (Recipe $r) {
            return route('recipe.show', ['id' => $r]);
        };
    }


Одна функция работает. Другой нет. У меня нет идей.

Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
Socialite Login With Google Account In Laravel 9
Socialite Login With Google Account In Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com.
Обновление драйверов Microsoft ODBC (с 17 до 18) для PHP
Обновление драйверов Microsoft ODBC (с 17 до 18) для PHP
Все знают, что PHP v7.4 потерял поддержку, и наши недавние старые приложения должны обновиться до PHP v8.x. ...
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
408
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не меняйте имена параметров замыкания в filament, попробуйте переименовать $r в $record:

protected function getTableActions()
{
    return [
        Action::make('edit')
            ->url(fn (Recipe $record): string => route('recipe.show', ['id' => $record])),
    ];
}

...

Другие вопросы по теме