多个输入,其名称代表产品ID

时间:2018-05-18 10:28:57

标签: php laravel

我正在 Laravel 开发订单系统,我在尝试处理订单产品时遇到了问题。

页面如下所示:

enter image description here

每个Product条目代表一个名为Products的表中的项目,其中id,name和price为列。

当我发送表单时,每个QTY输入都有产品ID的名称(对于Cabbage为1,对于Water为3,对于Bread为4)。 像这样的东西(白菜):

$ echo 139506MB | awk '{
   ex = index("KMGTPEZY", substr($1, length($1)-1,1));    # from substr($1, length($1))
   # ex = substr($1, length($1)-1,1);                     # uncomment for the unit
   val = substr($1, 0, length($1) - 2);
   print ex " " val
   }'
2 139506

其中一个问题是那些不是页面上的单个输入,我无法从其他地方真正识别它们。

当表单发送时,我想要获取这些值,在数据库中搜索,根据id获取每个产品的名称,并制作一个简单的列表,如:

<input style="width:70px;margin-bottom:9px;" class="qty form-control input-lg" required="required" name="1" type="number" value="">

我要问的是获得上述列表的最佳方式是什么,因为产品将是动态的(删除,添加,修改等)。

最初我想到的是:

Cabbage - 2 qty
Water - 1 qty
Bread - 3 qty

但这样做我不知道数值,我几乎被卡住了。 我感谢任何可以帮助我实现我解释的想法。

谢谢!

1 个答案:

答案 0 :(得分:0)

您也可以将数量作为数组发送,因此请将qte输入命名为quantities[],然后通过控制器中的索引获取它们:

$product_ids = Input::get('products'); //input name products[]
$quantities  = Input::get('quantities'); //input name quantities[]

foreach($product_ids as $index=>$product_id){
    $product  = Product::find($product_id);
    $quantity = $quantities[$index];

    echo $product['name'].' : '.$quantity;
}