【发布时间】:2018-05-24 12:24:47
【问题描述】:
我的问题我无法让我的动态复选框从我的 edit.blade 中正确保存,它们仅在值为 1 时有效,如果未选中的复选框通过隐藏字段提交,它将覆盖下一组复选框选中的值。
我的代码 我有一个接受订单的 crud 资源,create.blade 中的表单本身有一堆动态字段,它们通过克隆产品字段的“添加新”按钮将新产品添加到订单中.
该表单的一部分是一堆工作正常并正确存储的天数复选框。
我遇到困难的地方 我制作了一个 edit.blade 用于纠正在创建订单时可能犯的任何错误。
为了回调引用日期复选框的部分,我使用了以下刀片语法(我知道它与 create 不同,主要是因为我试图解决问题)
@foreach($orders as $orderkey => $order)
@foreach($days as $day)
{{ Form::hidden($day.'[]', 0, array('id'=> $day.'_hidden_'.$orderkey, 'class' => 'is-checkradio')) }}
{{ Form::checkbox($day.'[]', 1, $order->{$day}, array('id'=> $day.'_'.$orderkey, 'class' => 'is-checkradio')) }}
<label for="<?php echo $day.'_'.$orderkey; ?>"><?php echo $day; ?></label>
@endforeach
@endforeach
OrderController - 更新 我不得不在我的控制器中使用以下内容来更新字段,但是只要未选中复选框,它将覆盖下一个选中的值。
$customer = Customer::find($id);
foreach($customer->orders as $key => $order){
$Monday[] = $request->Monday[$key];
};
$updates = array(
'Monday' => $Monday,
);
foreach($updates['orders'] as $k => $update){
$update_order->Monday = $updates['Monday'][$k];
$update_order->save();
};
【问题讨论】:
-
您能否提供一个更小、更简单的示例供我们查看?这里有很多代码。
-
我会减少原来的问题。
标签: arrays laravel checkbox crud edit