Laravel по-русски

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

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

#1 12.11.2014 09:09:45

nemocoder
Откуда: Almaty, Kazakhstan
Сообщений: 69

запись данных из формы в бд

Здравствуйте, не понимаю в чем проблема при записи в бд из поля select несколько value записывает только первое
в модели

public static $status = array(
        'approve' => 'Принят',
        'not_approve' => 'Не Принят',
        'incorrect' => 'Не корректные данные',
        'black_list' => 'Черный список',
        'need_call' => 'Нуждается в звонке',
        'client_base' => 'Клиентская база',

    );

валидация

public static function getValidationRules() {
        
        $validation['status'] = 'required|in:' . implode(',', array_keys(self::$status));
        


        return $validation;
    }

функция для записи

public function postAdd() {
        $data = Input::all();

        $validation = Validator::make($data, Order::getValidationRules());
        if ($validation->fails()) {
            return Redirect::back()->withErrors($validation)->withInput();
        }
        $order = Polis::create($data);
        return View::make('polis/show_polis',$order);
    }

вот форма

<div class="form-group">
    <label for="status" class="col-sm-2 control-label">Статус</label>
    <div class="col-sm-5">
        {{ Form::select('status', Polis::$status,null,array('class'=> 'form-control')) }}
    </div>
</div>

Не в сети

#2 12.11.2014 10:24:43

Re: запись данных из формы в бд

Поставьте проверку на получения массива данных от формы по полю статус. А то у Вас передаётся строка, уверен.

{{ Form::select('status[]', Polis::$status,null,array('class'=> 'form-control', 'multiple' => true)) }}

Изменено SMGladkovskiy (12.11.2014 10:25:53)

Не в сети

#3 13.11.2014 09:42:31

nemocoder
Откуда: Almaty, Kazakhstan
Сообщений: 69

Re: запись данных из формы в бд

SMGladkovskiy пишет:

Поставьте проверку на получения массива данных от формы по полю статус. А то у Вас передаётся строка, уверен.

{{ Form::select('status[]', Polis::$status,null,array('class'=> 'form-control', 'multiple' => true)) }}

спасибо, проверил но у меня поле вообще не записывалось

допустил грубую ошибку не в писав status в

protected $fillable = array(
'status',
);

Изменено nemocoder (13.11.2014 09:42:45)

Не в сети

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