2014-10-23 1 views
1

Новичок в Laravel, пытаясь сделать форму, которая использует POST для отправки одного параметра. Я хочу запросить таблицу БД для фамилий, используя первое имя, которое я ввел в форму.Простая ошибка формы POST в Laravel

Я думаю, что я сузили ошибку либо мой маршрут:

Route::post('get_last', function() 
{ 
    $query= 'SELECT last FROM "names" WHERE first =?'; 
    $bindings= array(Input::post('first_name')); 
    $last_name = Name::selectOne($query, $bindings); 

    Redirect::route('last_name', array('last_name' => $last_name)); 
}); 

Перенаправление это страница, которая, как предполагается, чтобы показать результаты, я проверил, что один вручную, и это, кажется, работает. Я считаю, что ошибка также может быть что-то в файле лезвия, хотя:

@extends('layout') 

@section('content') 
    {{ Form::open(array('url' => 'get_last', 'method' => 'POST')) }} 

    {{ Form::text('first_name', 'First Name') }} 

    {{ Form::submit('Search') }} 

    {{ Form::close() }} 

@stop 

Для справки это исключение я получаю, когда я запускаю его:

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR) 

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

ответ

7

Использование Input::get() вместо Input::post()

Ключевое слово get in Input facade не привязано к $ _GET, но это имя метода getter.