Domanda

Ciao IM NOVITÀ a Laravel e non sono in grado di aggiungere dati al database dal modulo.Ho una vista semplice con una sola forma.Il controller ha 2 azioni (per il modulo di visualizzazione e per la creazione di righe DB).

app / rottes.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()}}
.

/pp/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');
    }

}

app / modelli / inzerat.php

<?php

class Inzerat extends Eloquent {

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

}
.

Errore dopo il clic sul pulsante Invia

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

im usando laravel 4.0

Cosa ho fatto di sbagliato qui?Grazie per il tuo aiuto.

È stato utile?

Soluzione

a Laravel, si utilizza :: Get () per recuperare tutti gli ingressi dalla richiesta.Hai solo bisogno di cambiare

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

A:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top