#php #laravel
#php #laravel
Вопрос:
У меня есть две модели: Type
и Category
. Я хочу создать маршрут, который должен содержать по одному фрагменту каждого.
Это мой маршрут:
Route::get('/route-{type:slug}-{category:slug}', 'Controller@typeAndCategory');
И в моем контроллере:
public function typeAndCategory(Type $bikeType, Category $category) {}
Согласно документу Laravel:
При использовании неявной привязки с пользовательским ключом в качестве параметра ВЛОЖЕННОГО маршрута Laravel автоматически использует запрос для извлечения вложенной модели по ее родительской модели, используя соглашения, чтобы угадать имя связи в родительской модели.
Но в моем случае эти две модели не имеют отношения.
Вопрос в том, как я могу сообщить об этом Laravel?
Комментарии:
1. Документ Laravel означает, что вы можете сделать
/route/{type}/{category}
, и laravel может определить, принадлежит ли категория типу. Но необязательно фиксировать это отношение, вы можете просто добавить хорошо несвязанные элементы. Я не думаю, что laravel может определять маршруты на основе того, что вы хотите, хотя я не пробовал. Вы могли бы сделать/{routeWithSlugs}
и$routeWithSlugs
вставить переменный конус в свою функцию и вставить строку самостоятельно.2. Я пробовал и не работает. Я хотел бы использовать функцию привязки модели, а не вручную находить регистр.