在Laravel中保存来自动态表单的数据
问题描述:
我一直在尝试从Laravel 5.3中的动态表单保存数据。但是我不能将它保存为数组。该错误显示在Laravel中保存来自动态表单的数据
参数1传递给照亮\数据库\语法::参数()必须是类型阵列,串给定的...
形式:
<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('[email protected]');
}
请帮忙。谢谢。
答
您正在提交带有文本字段和选择框的数组,请尝试 以下
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('[email protected]');
}
+0
谢谢。这工作 – Ahsan
答
泰创造这样的记录:
$payment = Payment::create($request->input);
,并更改您重定向行动,这一点:
View::make('path/to/view/')
或只使用只是back();
只是为了测试它是否工作
对于哪一行你会得到错误? – Onix
@Onix我不确定。它看起来像输入类型是字符串,它应该是数组。我想我需要通过控制器存储数组。 – Ahsan
如何在输入栏输入金额? –