Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 06.01.2015 12:05:03

Armix2000

Привязка модели к форме

http://laravel.com/docs/4.2/html#form-model-binding

Создал роут который соединяет и выводит все из БД

затем
    echo Form::model(array('route' => 'allusers'));
    echo Form::text('name');
    echo Form::text('name');
    echo Form::text('email');
    Form::close();


форма получается пустая, хотя по сути должны быть значения из БД?

дебаггер запрос к БД тоже не показывает?!

#2 06.01.2015 12:33:53

BaldaI
Откуда: Хабаровск
Сообщений: 16

Re: Привязка модели к форме

В метод Form::model() надо первым параметром передать модель.

Например, в контролере:

public function index($id)
{
    $user = User::findOrFail($id);
    return View::make('path/to/view', compact('user'));
}

в view:

<?= Form::model($user, ['route' => 'allusers']) ?>
<?= Form::text('name') ?>
<?= Form::text('email') ?>
<?= Form::close() ?>

Не в сети

#3 06.01.2015 13:02:07

Armix2000

Re: Привязка модели к форме

BaldaI пишет:

В метод Form::model() надо первым параметром передать модель.

Например, в контролере:

public function index($id)
{
    $user = User::findOrFail($id);
    return View::make('path/to/view', compact('user'));
}

в view:

<?= Form::model($user, ['route' => 'allusers']) ?>
<?= Form::text('name') ?>
<?= Form::text('email') ?>
<?= Form::close() ?>

Чето не получается

у меня роут

Route::get('usersfromdb', array('as' => 'allusers', function()
{
    $users = User::all();

    return View::make('usersfromdb')->with('usersfromdb', $users);
}));

я пишу в форме так

    echo Form::model($users, array('route' => 'allusers'));
    echo Form::text('name');
    echo Form::text('name');
    echo Form::text('email');
    Form::close();

Форма находится в контроллере

Где ошибка?

#4 06.01.2015 13:57:07

BaldaI
Откуда: Хабаровск
Сообщений: 16

Re: Привязка модели к форме

  • Нельзя выводить форму в контролере. Создайте для формы отдельный вид (view).

  • В Form::model() надо передавать одну модель. User::all() возвращает коллекцию.

Не в сети

#5 07.01.2015 13:02:22

Armix2000

Re: Привязка модели к форме

BaldaI пишет:
  • Нельзя выводить форму в контролере. Создайте для формы отдельный вид (view).

  • В Form::model() надо передавать одну модель. User::all() возвращает коллекцию.

Все получилось спасибо!

PS блин мне все больше кажется что использование Фреймворка только усложняет весь процесс! Пока поймешь что куда написать проще на чистом PHP закодить!

Подвал раздела