Маршрут ресурса, генерирующий странное имя модели из конечной модели «топор»

Я зарегистрировал этот ресурс:

Route::resource('order-item-paxes', 'OrderItemPaxController', ['except' => ['show', 'create', 'store']]);

Проблема в том, что я не могу получить модель в контроллере, которая делает это:

public function edit(OrderItemPax $order_item_pax)
{
$order_item_pax = OrderItemPax::find($id);
return view('production.order-item-paxes.edit', compact('order_item_pax'));
}

$ order_item_pax-> toArray () возвращает пустой массив.

Я проверил маршруты через php artisan route: list и вернул что-то странное:

PUT|PATCH | production/order-item-paxes/{order_item_paxis}

Это должен быть order_item_pax вместо order_item_paxis.

Любая идея?

ОБНОВИТЬ

Если я использую $ order_item_paxis в моем контроллере, это работает. Я зарегистрировал сотни ресурсов, и я всегда использовал единственную версию названия

1

Решение

Вы можете указать Laravel переопределить параметры маршрута, включив массив параметров в массив $ options (3-й параметр):

Route::resource('order-item-paxes', 'OrderItemPaxController', [
'except' => ['show', 'create', 'store'],
'parameters' => ['order-item-paxes' => 'order_item_pax']
]);

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]