对不起,如果听起来很奇怪,但在路线上,在我的观点的帖子上我需要做两个操作:
Route::post('booking', 'HomeController@booking');
Route::post('booking', function()
{
return Queue::marshal();
});
但是当然这样做我得到一个错误:数据无效。
然而,对于“预订”视图的帖子,我需要调用控制器的方法,同时返回Queue::marshal()
或许我可以做到这一点?
非常感谢!
修改
这是HomeController @预订方法:
答案 0 :(得分:1)
如果您使用相同的动词和网址定义两条路线,则第二条路线永远不会被解雇。
Route::post('booking', 'HomeController@booking'); // Laravel will find this route first
Route::post('booking', function() // so this function will never be executed
{
return Queue::marshal();
});
我看到您的HomeController@booking()
正在处理表单。为什么你只能使用另一条路线?
Route::post('booking/create', 'HomeController@booking');
然后将表单action
方法更改为指向此路线:
// this will render <form method="POST" action="http://yourdomain.com/booking/create"
{{ Form::open(array('action' => 'HomeController@booking')) }}
这样你就没有一条路线与另一条路线重叠。
与该问题无关的一些建议。看一下你的控制器,我注意到你在检查错误时这样做了:
if ( ! $errorCondition) {
// do stuff
} else {
// show errors
}
如果您这样写,您的代码将更容易阅读:
if ($errorCondition) {
// return error
}
// do stuff