Разное название ключа маршрута для одного маршрута в Ларавеле - PullRequest
1 голос
/ 21 апреля 2019

Я знаю, что могу изменить имя ключа маршрута для всей модели, используя метод getRouteKeyName, но как я могу изменить имя ключа маршрута для одного маршрута? Допустим, у меня есть модель Post и имя ключа маршрута, очевидно, id, я хочу иметь slug имя ключа для маршрута show. Можно ли как-то управлять getRouteKeyName методом, чтобы добиться этого?

public function getRouteKeyName()
{
    return 'slug';
}

1 Ответ

1 голос
/ 21 апреля 2019

Нашли решение:)

В AppServiceProvider классе я добавил следующий код в метод boot.

Route::bind('posts.show', function ($value) {
    return App\Post::where('slug', $value)->first() ?? abort(404);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...