我需要一些帮助。
我想在Laravel 5中做些什么: cron使用多个订单项/产品生成了一个请购单。我为每个创建的订单项设置了数量,供应商,部件号和名称字段。我可以完美地显示订单项。但是,我不确定如何更新它。我需要的是可以在整个订单项中编辑数量,一旦用户点击保存,控制器就应该分别更新每个订单项。
到目前为止我所拥有的:
我的刀片视图如下所示:
{!! Form::label('qty', 'Qty', ['class' => 'control-label']) !!}
{!! Form::number("line.$i.qty", $line->qty, ['class' => 'form-control']) !!}
当我在控制器中执行以下操作时:
$inputs = $request->all();
var_dump($inputs);
我可以看到数据,但我不确定如何从那里更新数据库。我猜猜某种类型的foreach陈述?
任何帮助将不胜感激。
答案 0 :(得分:1)
您需要解决存在哪些数量值并将值与其产品匹配。这可以有几种方式,这里有两种:
请勿将表单字段"line.$i.qty"
命名为"line." . $ids[$i] . ".qty"
。
如果您将产品ID存储在line.PID302314.qty
数组
$ids
等字段名称
然后,在处理发送的值时,扫描所有输入,如果输入与名称模式匹配,则从输入名称中提取产品ID并执行所需的数据库更新。
为表单添加隐藏值:
{!! Form::hidden("ids", implode(",", $ids)) !!}
此隐藏值定义产品ID相对于表单中行的顺序。
然后,在处理发送的值时,您会从ids
:
$ids = explode(",", $request->input('ids'));
并制作一个for-cycle:
for ($i = 0; $i < count($ids); $i++)
{
// Update product with id = $ids[$i] with
// qty value from input "line." . $i . ".qty"
}
答案 1 :(得分:0)
如果我理解你的话:
$i=0; // $index
$total_line = 10; // let say.. put the number you need
while($i <= $total_line ){
if ($request->has("line.$i.qty")){
$string = $request->input("line.$i.qty");
...
}
}
祝你好运!