【发布时间】:2016-01-23 03:17:15
【问题描述】:
编辑:
我正在尝试完成一些简单的事情。在我的约会.index 视图中,我有一个表格。提交表单后,我想使用查询中的值,如下所示:
约会控制器:
public function index(Request $request)
{
$statusId = $request->status;
$labelId = $request->label;
$monthId = $request->month;
$appointments = Appointment::status($statusId)->label($labelId)->month($monthId)->get();
return view('appointments', compact('appointments'));
}
我的模型中的一种方法(它们都相似):
public function scopeStatus($query, $statusId)
{
if($statusId)
{
return $query->where('status_id', '=', $statusId);
}
else {
return false;
}
}
如果不是以下解决方案,最好的方法是什么?
操作:
我收到以下错误:
方法 App\Http\Controllers\AppointmentsController::store() 不存在
我知道这是因为我的路线:
Route::get('appointments', array('as' => 'appointments', 'uses' => 'AppointmentsController@index'));
Route::post('appointments', array('uses' => 'AppointmentsController@index'));
Route::resource('appointments', 'AppointmentsController');
如果我像这样更改发布路线,它会起作用:
Route::post('appointments/anythinghere', array('uses' => 'AppointmentsController@index'));
问题是,为什么会这样(因为资源路线,我理解,但为什么)以及如何“修复”它以便我仍然可以像上面一样使用我的路线?
【问题讨论】:
标签: php laravel routing resources