Larave простое создание новой строки в таблице
-
20-12-2019 - |
Вопрос
Привет, я новый в Laravel, и я не могу добавлять данные в базу данных из формы.У меня простой вид с одной формой.Контроллер имеет 2 действия (для вида видов и для создания строк БД).
Route::get('/', 'FrontendController@index');
Route::post('/', 'FrontendController@submit');
.
{{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()}}
.
.
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
Что я сделал неправильно здесь?Спасибо за вашу помощь.
Решение
в Laravel, вы используете :: get (), чтобы получить все входные данные по запросу.Вам просто нужно изменить
$inzerat->nazev_firmy = Input::post('nazev_firmy');
.
to:
$inzerat->nazev_firmy = Input::get('nazev_firmy');
. Не связан с StackOverflow