Laravel по-русски

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

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

#1 20.11.2016 18:30:40

Форма не работает

Сделал composer update
В config/app.php прописал
                в providers  'Collective\Html\HtmlServiceProvider',
                а в aliases
                    'Form' => 'Collective\Html\FormFacade',
                    'Html' => 'Collective\Html\HtmlFacade',

Код формы представления такой. Без этого кода на стртаницу заходит
<?php

echo Form::open('mom2', 'POST');

echo Form::label('username', 'Username') . Form::text('username', Input::old('username'));

echo Form::submit('Register!');

echo Form::token() . Form::close()
?>
С ним выдаёт ошибку

ErrorException in FormBuilder.php line 96:
Argument 1 passed to Collective\Html\FormBuilder::open() must be of the type array, string given, called in D:\opeserv\OpenServer\domains\shit\vendor\compiled.php on line 5303 and defined (View: D:\opeserv\OpenServer\domains\shit\resources\views\form.blade.php)
in FormBuilder.php line 96
at CompilerEngine->handleViewException(object(ErrorException), '0') in compiled.php line 13652

В роутере прописал
Route::post('mom2', 'WelcomeController@ff3');

В контроллере
    public function ff3()
    {
          return 'for0';
    }

Вроде должно всё работать, но ошибка всё выводится. Что не так?


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#2 20.11.2016 19:24:50

Re: Форма не работает

Ответь (ДЛЯ СЕБЯ) на вопросы.

1. Документацию читал?
2. Примеры смотрел?
3. Подобные конструкции уже видел или сам придумал?
4. Видел подобные конструкции? - а версии того где ты видел и того что ты установил совпадают?

Не в сети

#3 22.11.2016 10:34:26

Re: Форма не работает

Форму надо было сделать такой.
echo Form::open(array('url' => 'mom2')) ;
    echo Form::password('password', array('value' => Input::old('password')) );    
    echo Form::submit('Click Me!');
echo Form::close() ;

А получение таким
    public function ff3(Request $request)
    {
        return $request->input('password');


Теперь другая задача. Хотелось бы создавать новую запись, притом что бы поля записи забивались значениями из формы.
Нашёл такой код.
YourModelName5::create($request->all());
    }

По-идее он так и делает, но мне выдаёт ошибку. Поле с именем bb у меня есть, но по ошибке он получается его не находит вроде как.
MassAssignmentException in compiled.php line 9345:
_token
in compiled.php line 9345
at Model->fill(array('_token' => 'Lq1ezqEPMvF74Ry3R0kUtn9z9hJxQXgIYZQgE9XV', 'bb' => '3')) in compiled.php line 9275


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#4 22.11.2016 10:38:46

Re: Форма не работает

Нашёл ответ, что надо в модели указать поля таблицы
class YourModelName5 extends Model {
protected $fillable = ['id', 'created_at', 'updated_at','bb'];
}

Не помогло, та же ошибка


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#5 22.11.2016 10:45:54

Re: Форма не работает

Разобрался. Достаточно было прописать того, что ниже + я оказывается случайно создал модель 2 раза и грузил не ту, что из папки model, а ту, что из папки app.

<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class YourModelName5 extends Model {
//protected $table = 'your_model_name5s';
protected $fillable = ['bb'];
    //

}

Изменено Kirir (22.11.2016 10:46:06)


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#6 22.11.2016 13:13:48

Re: Форма не работает

Мужик - ты мой кумир.
Ты в отличии от множества - всё сделал сам.
Честь и хвала тебе!

Не в сети

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