Я зарегистрировал этот ресурс:
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 в моем контроллере, это работает. Я зарегистрировал сотни ресурсов, и я всегда использовал единственную версию названия
Вы можете указать Laravel переопределить параметры маршрута, включив массив параметров в массив $ options (3-й параметр):
Route::resource('order-item-paxes', 'OrderItemPaxController', [
'except' => ['show', 'create', 'store'],
'parameters' => ['order-item-paxes' => 'order_item_pax']
]);
Надеюсь это поможет!
Других решений пока нет …