2016-11-15 87 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

它的工作原理!你能解释一下吗? –