簡體   English   中英

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

[英]Laravel 5.2 MethodNotAllowedHttpException in RouteCollection.php line 219

首先我的錯誤是沒有找到類輸入,所以我添加了

'input'=> Illuminate \\ Support \\ Facades \\ Input :: class,

在別名數組中

現在,當我提交表單時,它會出現此錯誤

錯誤: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>

錯誤捕捉: 在此輸入圖像描述

嘗試不使用routes.php直接執行函數。 意思是,路由中使用的函數是在控制器中,也許這就是laravel 5.1不允許你執行任務的原因。

讓您更好地了解工作流程

routes.php - >

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

welcome.blade.php - >

<!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

在這里,您將自動為您創建所需的相關功能,以便於使用功能,很酷......

現在將您的添加邏輯寫入create函數。

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

還要確保創建模型。 例如

運行命令

php artisan make:model Project

在項目模型中 - >

protected $fillable = [
 'name'
];

使用此可填充數組的目的是出於安全目的,以避免質量分配漏洞。

希望這能幫助你。 隨意問的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM