Question

Bonjour IM NOUVEAU EN LARAVEL et je ne suis pas capable d'ajouter des données à la base de données du formulaire.J'ai une vue simple avec un seul formulaire.Le contrôleur a 2 actions (pour la visualisation et pour la création de lignes de DB).

app / routres.php

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

app / vues / 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/controls/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 / modèles / inzerat.php

<?php

class Inzerat extends Eloquent {

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

}

Erreur après avoir cliqué sur le bouton Soumettre

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

im en utilisant laravel 4.0

Qu'est-ce que j'ai mal fait ici?Merci pour votre aide.

Était-ce utile?

La solution

in Laravel, vous utilisez :: get () Pour récupérer toutes les entrées de la demande.Vous avez juste besoin de changer

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

à:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top