2016-11-15 86 views
0

我得到我無法理解一個足智多謀的路線錯誤..所以基本上在我的路線文件工作的:Laravel足智多謀路由錯誤

Route::get('siswa', '[email protected]'); 
Route::get('siswa/create', '[email protected]'); 
Route::post('siswa', '[email protected]'); 
Route::get('siswa/{id}', '[email protected]'); 
Route::get('siswa/{id}/edit', '[email protected]'); 
Route::patch('siswa/{id}', '[email protected]'); 
Route::delete('siswa/{id}', '[email protected]'); 

但是,當我把它改爲單行資源:

Route::resource('siswa', 'SiswaCont'); 

它產生NotFoundHttpException在Handler.php線103錯誤,沒有查詢結果模型[應用\ Siswa]。

任何人都知道如何解決這個問題?

+0

在哪個文件中插入資源路由?在'api.php'或'web.php'裏面? – GiuServ

+0

你如何檢查它的API或網頁? –

+0

這意味着在* Siswa *模型的數據庫中找不到任何結果。檢查表中是否有記錄,併發布您正在訪問的控制器方法。 – TheFallen

回答

2

切換到資源控制器時,不要忘記參數名稱也發生變化

在你的情況下,新的路由將是siswa/{siswa},而不是siswa/{id}

當你要保持你的結構,可以使用下面的例子:

Route::resource('siswa', 'SiswaCont', ['parameters' => [ 
    'siswa' => 'id' 
]]); 

給出的代碼更改ResourceController,這是你控制器名字的單一化版本的默認參數(在你的情況siswa)轉換爲另一個開發者定義的值(在這種情況下爲id)。

這將保持您當前的結構,因爲參數現在是相同的,並且應該修復您的NotFoundHttp異常。有關此代碼示例的更多信息可以參見in the docs

+0

我在哪裏改變它?工作之一是沒有使用資源,這裏的資源是問題.. –

+0

@RayanSuryadikara我已經添加了一個例子,保持您的參數ID – manniL

+0

它的工作原理!你能解釋一下嗎? –