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

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

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

Форма:

<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');
}

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

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');
}
4

Другие решения

Ты для создания записи так:

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

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

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

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

0

По вопросам рекламы [email protected]