簡體   English   中英

無法使用 Laravel 中的 foreach 循環從動態輸入字段中獲取數據

[英]Cannot get data from dynamic input fields using foreach loop in Laravel

我的表單中有多個動態創建的多個輸入字段,現在有兩組,一組是屬性,另一組是屬性值,如下所示:

<input type="text" name="attribute_name[attr_1]" placeholder="Attribute Name" class="form-control" required="">

<input type="text" name="attribute_value[][attr_1]" placeholder="Attribute Value" class="form-control" required="">

<input type="text" name="attribute_value[][attr_1]" placeholder="Attribute Value" class="form-control" required="">

<input type="text" name="attribute_name[attr_2]" placeholder="Attribute Name" class="form-control" required="">

<input type="text" name="attribute_value[][attr_2]" placeholder="Attribute Value" class="form-control" required="">

<input type="text" name="attribute_value[][attr_2]" placeholder="Attribute Value" class="form-control" required="">

現在使用 foreach 循環,首先我想獲取所有屬性字段,然后在內部循環中我想獲取如下代碼中的屬性值:

foreach($request->input('attribute_name') as $attrKey => $val)
{
    foreach ($request->input('attribute_value.*.'.$attrKey)  as $attr_valKey => $value) {
        $attribute_value=$value;
    }
}

$request->input('attribute_name') 包含數組( [attr_1] => 顏色 [attr_2] => 大小)

我使用的概念是我不知道鍵,因為它是動態的,所以我首先嘗試一個一個地遍歷所有屬性名稱,然后在內部循環中提取屬性值。

我第一次獲得第二個屬性的屬性及其相關值,我沒有得到任何值。

我不太確定最終目標是什么,所以我可能偏離了目標。

你現在擁有它的方式:

$request->input('attribute_value.*.' . $attrKey)

將包括所有attribute_value[][...]字段,但是,與$attrKey無關的值將是null

attribute_value[][attr_1]更改為attribute_value[attr_1][]可能是一個想法。

這意味着您的 foreach 循環看起來像:

foreach ($request->input('attribute_name') as $attrKey => $val) {
    foreach ($request->input('attribute_value.' . $attrKey) as $attr_valKey => $value) {
        $attribute_value = $value;
    }
}

$request->input('attribute_value.'. $attrKey)將僅包含與$attrKey實際相關的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM