Несколько входов с именами, которые представляют идентификатор продукта - PullRequest
0 голосов
/ 18 мая 2018

Я разрабатываю систему заказов в Laravel , и я столкнулся с проблемой при попытке обработать продукты заказа.

Страница выглядит следующим образом:

enter image description here

Каждая запись о товаре представляет элемент в таблице под названием «Продукты», в котором столбцы имеют идентификатор, имя и цену.

Когда я отправляю формукаждый QTY-ввод имеет в качестве имени идентификатор продукта (для капусты - 1, для воды - 3, для хлеба - 4).Примерно так (для капусты):

<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

Что я спрашиваю, так эточто было бы лучшим способом получить список выше, поскольку продукты будут динамическими (удалены, добавлены, изменены и т. д.).

Изначально я думал о чем-то вроде:

//all inputs with name products[] and as value the product id

$items = Input::get('products');

foreach($items as $item){
    $prodid = Product::find($item);
    echo $prodid['name'];
}

Нопри этом я бы не знал значение кол-во, я в значительной степени застрял.Я ценю любые идеи, которые помогут мне достичь того, что я объяснил.

Спасибо!

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете отправлять величины также в виде массива, поэтому назовите свои входные данные, например, 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;
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...