我是 Laravel 的新手。我可能在這里犯了一個基本錯誤,但我已經嘗試和研究了一段時間,在這里需要一些指導。
我有 2 條路線:
Route::get('ordercontents/{ordercontent}', 'App\Http\Controllers\OrderContentsController@edit');
Route::get('ordercontents/delete/{ordercontents}', 'App\Http\Controllers\OrderContentsController@destroy');
在里面OrderContentsController.php我有兩個功能,一個是編輯記錄,另一個是洗掉它。
public function edit(\App\Models\Order_content $ordercontents)
{
dd($ordercontents); //the attributes will come out empty
$orderContentId = $ordercontents->id;
$ocs = getOrderContentDetails($orderContentId);
return view('ordercontents.edit')->with('ordercontents', $ocs);
}
public function destroy(\App\Models\Order_content $ordercontents)
{
$orderId = $ordercontents->order_id;
$ordercontents->delete();
return redirect('/new-ordercontent/' . $orderId)->with('success', 'Material removido da ordem de servi?o!');
}
該模型存在并稱為Order_content。一切都適用于該destroy功能。但是,我正在努力使用該edit功能。如果我做一個物件dd($ordercontents);的attributes陣列在函式內部是空的edit。我錯過了什么?謝謝!
uj5u.com熱心網友回復:
您必須確保方法簽名中型別提示的變數名稱與 Route Model Binding 的 route 引數匹配:
“Laravel 會自動決議路由或控制器操作中定義的 Eloquent 模型,其型別提示的變數名稱與路由段名稱匹配。” - Laravel 檔案
可以調整編輯的方法簽名以匹配路由引數名稱:
public function edit(\App\Models\Order_content $ordercontent)
當這些不匹配時,您將發生依賴注入,因此將注入一個新的不存在的模型實體。
Laravel 8.x 檔案 - 路由 - 路由模型系結 - 隱式系結
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417493.html
標籤:
