我正在尝试提交表单以更新tbl_pages列。所以要使用复选框更新特定列。以下是我的观点。
以下是视图的外观:
{!!Form::open([
'method' => 'patch',
'route' => 'pages.update'
])!!}
<p>{!! Form::checkbox('pages[]', $page->id, false, array('class' => 'checkboxes')) !!}</p>
{!!Form::submit('Move to Trash', array('class' => 'btn btn-default', 'name'=> 'movetrash'))!!}
{!!Form::close()!!}
PageController.php 中的 update()方法如下所示。
public function update(Request $request, $id)
{
if(Input::get('movetrash')) {
$pagesarray = Input::get('pages'); //getting checkbox values from view
if(!empty($pagesarray)){
foreach($pagesarray as $pageid){
$page = Pages::where('id', $pageid) -> first();
$page -> active = 0;
$page -> save();
}
\Session::flash('movedtotrash', 'Pages has been successfully MOVED TO TRASH');
}
return redirect()->route('pages');
}
}
这就是我的 routes.php 的样子:
Route::group(['middleware' => ['web'], 'prefix' => 'pages'], function () {
//
Route::get('trash', 'PagesController@trashpage');
Route::get('movetotrash/{id}', 'PagesController@movetotrash');
Route::get('restore/{id}', 'PagesController@restore');
Route::get('trashmultiple', [
'as' => 'pages.trashmultiple', 'uses' => 'PagesController@update'
]);
Route::resource('', 'PagesController'); // here is the problem
});
在routes.php这里我觉得我无法定义 Route::resource('pages', 'PagesController');
这样,即使我这样做,我也会收到此错误NotFoundHttpException in RouteCollection.php
我想这是我在FORM 'route' => 'pages.update'
任何解决方案都非常有用。
谢谢! (提前)
答案 0 :(得分:0)
更新路由需要一个id。运行php artisan route:list
以查看与更新关联的路由的URL(如果存在)。也可以使用Route::resource('/', 'PagesController');
{!!Form::open([
'method' => 'patch',
'route' => [pages.update, $id]
])!!}