【问题标题】:Laravel route for view with an input form带有输入表单的 Laravel 路由视图
【发布时间】: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].

我不知道为什么当方法索引、显示和存储工作时它不起作用...

【问题讨论】:

    标签: php forms laravel routes


    【解决方案1】:

    您需要在Route::get('lectures/create', 'LecturesController@create'); 之后拥有Route::get('lectures/{lecture}', 'LecturesController@show');。 Laravel 将匹配第一条路线然后停止,因此您实际上正在访问 Route::get('lectures/{lecture}', 'LecturesController@show'); 并在您的 show 方法中访问 $lecture === 'create'

    【讨论】:

    • 谢谢!现在可以了!我没有意识到它是按顺序通过的。
    猜你喜欢
    • 2013-02-10
    • 2013-09-05
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 2017-01-06
    • 2014-03-11
    • 2015-12-06
    相关资源
    最近更新 更多