Laravel 选中复选框时存储值
Laravel Store Value if Checkbox is Checked
我在 Laravel 中存储了多个值。在表单中,我有每个输入的复选框,如果为该输入选中了复选框,我想存储值。我面临的问题是无论我选中哪个复选框,它总是从第一个输入值中保存。如果我选中一个选项,它会存储第一个值。如果我选中 2 个选项,它会存储第一个和第二个值,依此类推。
这是复选框的形式
<input type="checkbox" name="checked[]" value="{{ $employee->id }}">
存储方式
public function store(Request $request)
{
foreach ($request->employee_id as $key => $val) {
$payrolls = new Payroll;
if (isset($request->checked[$key])) {
$payrolls->basic = $request->basic[$key];
$payrolls->employee_id = $val;
$payrolls->save();
}
}
return redirect('/');
}
方法是通过key设置校验,但是在checked的数组中需要通过value来查找,使用方法in_array()
public function store(Request $request)
{
foreach ($request->employee_id as $key => $val) {
$payrolls = new Payroll;
if (in_array($val, $request->checked)) {
$payrolls->basic = $request->basic[$key];
$payrolls->employee_id = $val;
$payrolls->save();
}
}
return redirect('/');
}
我在 Laravel 中存储了多个值。在表单中,我有每个输入的复选框,如果为该输入选中了复选框,我想存储值。我面临的问题是无论我选中哪个复选框,它总是从第一个输入值中保存。如果我选中一个选项,它会存储第一个值。如果我选中 2 个选项,它会存储第一个和第二个值,依此类推。
这是复选框的形式
<input type="checkbox" name="checked[]" value="{{ $employee->id }}">
存储方式
public function store(Request $request)
{
foreach ($request->employee_id as $key => $val) {
$payrolls = new Payroll;
if (isset($request->checked[$key])) {
$payrolls->basic = $request->basic[$key];
$payrolls->employee_id = $val;
$payrolls->save();
}
}
return redirect('/');
}
方法是通过key设置校验,但是在checked的数组中需要通过value来查找,使用方法in_array()
public function store(Request $request)
{
foreach ($request->employee_id as $key => $val) {
$payrolls = new Payroll;
if (in_array($val, $request->checked)) {
$payrolls->basic = $request->basic[$key];
$payrolls->employee_id = $val;
$payrolls->save();
}
}
return redirect('/');
}