你好我是Laravel的新手,我无法从表单向数据库添加数据。我只有一个表单,只有一个简单的视图。控制器有2个动作(用于视图形式和创建数据库行)。
应用/ routes.php文件
Route::get('/', 'FrontendController@index');
Route::post('/', 'FrontendController@submit');
应用/视图/ 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()
我正在使用Laravel 4.0
我在这里做错了什么?谢谢你的帮助。
答案 0 :(得分:5)
在laravel中,使用:: get()从请求中检索所有输入。你只需要改变
$inzerat->nazev_firmy = Input::post('nazev_firmy');
要:
$inzerat->nazev_firmy = Input::get('nazev_firmy');