Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4.2方法删除时不允许HttpException_Php_Laravel_Laravel 4_Laravel Routing - Fatal编程技术网

Php Laravel 4.2方法删除时不允许HttpException

Php Laravel 4.2方法删除时不允许HttpException,php,laravel,laravel-4,laravel-routing,Php,Laravel,Laravel 4,Laravel Routing,我是Laravel的新手,所以有一个项目,一个简单的CRUD,但是当我试图删除数据时,delete方法不起作用,我真的不知道为什么。这就是错误: 错误: throw new MethodNotAllowedHttpException($others); public function destroy($id) { $project = Project::find($id); if($project->user_id==Auth::id()) { $proj

我是Laravel的新手,所以有一个项目,一个简单的CRUD,但是当我试图删除数据时,delete方法不起作用,我真的不知道为什么。这就是错误:

错误:

throw new MethodNotAllowedHttpException($others);
public function destroy($id)
{
    $project = Project::find($id);
    if($project->user_id==Auth::id()) {
        $project->delete();
        return Redirect::to('/');
    } else {
        Session::flash('message', 'You can't delete this!');
        return Redirect::to('/');
    }
}
{{Form::open(array('url' => 'project/destroy/'.$p->id, 'method' => 'DELETE'))}}
    {{Form::submit("Delete", array('class' => 't2tButton text-center'))}}
{{Form::close()}}
Route::post('/project/destroy/{id}', "ProjectController@destroy");
控制器:

throw new MethodNotAllowedHttpException($others);
public function destroy($id)
{
    $project = Project::find($id);
    if($project->user_id==Auth::id()) {
        $project->delete();
        return Redirect::to('/');
    } else {
        Session::flash('message', 'You can't delete this!');
        return Redirect::to('/');
    }
}
{{Form::open(array('url' => 'project/destroy/'.$p->id, 'method' => 'DELETE'))}}
    {{Form::submit("Delete", array('class' => 't2tButton text-center'))}}
{{Form::close()}}
Route::post('/project/destroy/{id}', "ProjectController@destroy");
查看:

throw new MethodNotAllowedHttpException($others);
public function destroy($id)
{
    $project = Project::find($id);
    if($project->user_id==Auth::id()) {
        $project->delete();
        return Redirect::to('/');
    } else {
        Session::flash('message', 'You can't delete this!');
        return Redirect::to('/');
    }
}
{{Form::open(array('url' => 'project/destroy/'.$p->id, 'method' => 'DELETE'))}}
    {{Form::submit("Delete", array('class' => 't2tButton text-center'))}}
{{Form::close()}}
Route::post('/project/destroy/{id}', "ProjectController@destroy");
路线:

throw new MethodNotAllowedHttpException($others);
public function destroy($id)
{
    $project = Project::find($id);
    if($project->user_id==Auth::id()) {
        $project->delete();
        return Redirect::to('/');
    } else {
        Session::flash('message', 'You can't delete this!');
        return Redirect::to('/');
    }
}
{{Form::open(array('url' => 'project/destroy/'.$p->id, 'method' => 'DELETE'))}}
    {{Form::submit("Delete", array('class' => 't2tButton text-center'))}}
{{Form::close()}}
Route::post('/project/destroy/{id}', "ProjectController@destroy");

您为
POST
设置了路由,但没有为
DELETE
设置路由

尝试将此添加到您的路线:

Route::delete('/project/destroy/{id}',”ProjectController@destroy");


或者,您可以将方法更改为
POST
,并保持路由不变,但要使其保持RESTful状态,最好更改为
DELETE

我刚刚找到答案,路由中的错误在这一行:

Route::delete('/project/destroy/{id}', "ProjectController@destroy");

路由方法必须是
DELETE

准确地说,这就是问题所在哈哈哈,我刚刚发布了它,无论如何谢谢=)。@bad_boy他至少要等15分钟…但是如果时间过去了,请接受它…谢谢你确定PHP引擎不会在语法方面出错吗?这个:
“你不能删除这个!”-你必须用双引号将这个刺括起来!好点@bad_boy,或者逃出
中的
不能
像这样
不能