Сохранение данных из динамической формы в Laravel

Я пытался сохранить данные из динамической формы в Laravel 5.3. Но я не могу сохранить его как массив. Ошибка показывает

Аргумент 1, передаваемый в Illuminate\Database\Grammar::parameterize(), должен иметь тип array, заданная строка...

Форма:

<select class="form-control-sm" name="client_id[]">
<input type="text" class="form-control-sm" name="amount[]">

Модель:

protected $fillable = ['client_id', 'amount'];

public function client()
{
    return $this->belongsTo('App\Client');
}

Контроллер:

public function store(Request $request)
{
    $count = Client::count();

    $payment = Payment::create(['amount' => $request->amount,
                                 'client_id'  => $request->client_id,
                                 ]);
    $payment->save();

    return redirect()->action('PaymentController@index');
}

Пожалуйста, помогите в этом. Спасибо.


person Ahsan    schedule 02.03.2017    source источник
comment
для какой строки вы получаете ошибку?   -  person Onix    schedule 02.03.2017
comment
@Оникс, я не уверен. Похоже, что тип ввода - строка, а должен быть массив. Думаю, мне нужно хранить массив через контроллер.   -  person Ahsan    schedule 02.03.2017
comment
как вы вводите сумму в поле ввода?   -  person Ramzan Mahmood    schedule 02.03.2017


Ответы (2)


вы отправляете форму с массивом текстовых полей и выберите поле, попробуйте ниже

public function store(Request $request)
{
    $count = Client::count();
    foreach( $request->client_id as $key=>$val){
    $payment = Payment::create(['amount' => $request->amount[$key],
                                 'client_id'  => $val,
                                 ]);
 }

 return redirect()->action('PaymentController@index');
}
person sumit    schedule 02.03.2017

Ty, чтобы создать запись следующим образом:

$payment = Payment::create($request->input);

И измените действие перенаправления на это:

View::make('path/to/view/')

или просто используйте только back();, чтобы проверить, работает ли это

person Onix    schedule 02.03.2017