質問

Hello Im Laravelで新たに、imはフォームからデータベースにデータを追加できません。私は1つのフォームしかない単純な1ビューを持っています。コントローラには2つのアクション(ビューフォーム用およびDB行の作成)があります。

app / routes.php

Route::get('/', 'FrontendController@index');
Route::post('/', 'FrontendController@submit');
.

app / views / index.blade.php

{{Form::open(array('action'=>'FrontendController@submit','class'=>'form-horizontal','role'=>'form'))}}
{{Form::text('nazev_firmy',Input::old('nazev_firmy'), array('class'=>'form-control'))}}
{{Form::submit('Send', array('class'=>'btn btn-primary submit'))}}
{{Form::close()}}
.

/app/controllers/frontendcontroller.php

class FrontendController extends BaseController {
        public function index()
    {
        return View::make('index');
    }

    public function submit()
    {
        $inzerat = new Inzerat;

        $inzerat->nazev_firmy = Input::post('nazev_firmy');
        $inzerat->save();

        return View::make('index');
    }

}
.

アプリ/モデル/ inzerat.php

<?php

class Inzerat extends Eloquent {

    protected $table = 'inzeraty'; 
    public $timestamps = false; 

}
.

送信後の

Call to undefined method Illuminate\Http\Request::post() 
.

LARAVER 4.0を使用しているIM

私はここで間違ったことをしましたか?あなたの助けをありがとうございました。

役に立ちましたか?

解決

Laravelでは、:: get()を使用して要求からすべての入力を取得します。あなたはただ

を変更する必要があります
$inzerat->nazev_firmy = Input::post('nazev_firmy');
.

to:

$inzerat->nazev_firmy = Input::get('nazev_firmy');
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top