在RouteCollection.php第219行中的Laravel 5.2 MethodNotAllowedHttpException

时间:2016-03-02 09:41:57

标签: php forms laravel-5.2

首先我的错误是未找到类输入,所以我添加了

  

'输入' =>照亮\支持\外墙\输入::类,

在别名数组中

现在,当我提交表单时,它会出现此错误

  

错误:RouteCollection.php第219行中的MethodNotAllowedHttpException:

routes.php文件

Route::post('add', function () {
    $name = Input::get('name');
    if(DB::table('projects')->whereName($name)->first() != NULL) return 'already exist';
    DB::table('projects')->insert(array('name'=>'$name'));
    return Redirect::to('/add'); 
});

welcome.blade.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Laravel Learning</title>
</head>
    <body>
            {!! Form::open(array('url' => 'add')) !!}
                {!! Form::text('name', 'Your Name...') !!}
                {!! Form::submit('Click Me!') !!}
            {!! Form::close() !!}   
    </body>
</html>

错误捕捉: enter image description here

1 个答案:

答案 0 :(得分:1)

尝试不使用routes.php直接执行函数。意思是,路线中使用的功能是在控制器中,也许这就是laravel 5.1不允许你执行任务的原因。

让您更好地了解工作流程

routes.php - &gt;

Route::resource('projects', 'projectController');

welcome.blade.php - &gt;

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Laravel Learning</title>
</head>
<body>
        {!! Form::open(array('url' => 'projects')) !!}
            {!! Form::text('name', 'Your Name...') !!}
            {!! Form::submit('Click Me!') !!}
        {!! Form::close() !!}   
</body>
</html>

然后,转到您的cmd,浏览到您的项目文件夹,然后启动命令

php artisan make:controller projectController

在这里,您将自动为您创建所需的相关功能,以便于使用这些功能,很酷......

现在将您的添加逻辑写入创建功能。

public function store()
{
  Project::create(Request::all());
  //here you can write your return redirect(''); 
}

还要确保创建模型。例如

运行命令

php artisan make:model Project
项目模型中的

- &gt;

protected $fillable = [
 'name'
];

使用此可填充数组的目的是出于安全目的,以避免质量分配漏洞。

希望这对你有所帮助。随意提问