带有输入表单的 Laravel 路由视图
Posted
技术标签:
【中文标题】带有输入表单的 Laravel 路由视图【英文标题】:Laravel route for view with an input form 【发布时间】:2017-03-21 11:30:07 【问题描述】:使用 Laravel 5.3 我想要一个路由,它指向一个带有表单的视图以创建一个新对象
我有这些路线
//to show all lectures
Route::get('lectures', 'LecturesController@index');
//to show specific lecture
Route::get('lectures/lecture', 'LecturesController@show');
//to display form to create a new Lecture
Route::get('lectures/create', 'LecturesController@create');
//to handle process of creating a new lecture
Route::post('lectures/create','LecturesController@store');
除了应该显示添加新讲座表格的路线之外的所有工作。
public function create()
return view('lectures.create');
它甚至没有到达控制器,因为当我去地址“localhost/lectures/create”时,我得到了这两个异常:
ModelNotFoundException in Builder.php line 311:
No query results for model [App\Lecture].
NotFoundHttpException in Handler.php line 113:
No query results for model [App\Lecture].
我不知道为什么当方法索引、显示和存储工作时它不起作用...
【问题讨论】:
【参考方案1】:您需要在Route::get('lectures/create', 'LecturesController@create');
之后拥有Route::get('lectures/lecture', 'LecturesController@show');
。 Laravel 将匹配第一条路线然后停止,因此您实际上正在访问 Route::get('lectures/lecture', 'LecturesController@show');
并在您的 show 方法中访问 $lecture === 'create'
【讨论】:
谢谢!现在可以了!我没有意识到它是按顺序通过的。以上是关于带有输入表单的 Laravel 路由视图的主要内容,如果未能解决你的问题,请参考以下文章