내 요청 데이터는 새로운 항목과 기존 항목의 배열을 나타냅니다. 이 배열을 통해 항목을 업데이트하고 만들려고합니다.Laravel 5.4 : 요청 배열을 반복하는 방법은 무엇입니까?
이 내가 배열을 검색하는 방법입니다
나중에 내가 기존 항목 업데이트 코드의$userInput = $request->all();
foreach($userInput['items'] as $key=>&$item){
:
$updateItem = Item::find($item['id']);
$updateItem->number = $item['number'];
$updateItem->save();
그러나 $item['number']
는 이전 업데이트에서 기존의 입력을 포함하는 것 아닌 값을 나는 지난 번에 들어갔다.
어떻게 Laravel에서 요청 데이터를 반복 할 수 있습니까?
내가 그것을 실행으로 이는 전체 코드입니다 (혼란을 제거하려는) : 이것은 HTML에서 입력이
$userInput = $request->all();
// checking $userInput here
// I can see the new value in the array
foreach($userInput['items'] as $key=>$item){
if($item['delete'] == 1) {
Item::where('order_id',$order->id)
->where('id',$item['id'])
->delete();
} else {
if(empty($item['id'])) {
} else {
$updateItem = Item::find($item['id']);
$updateItem->number = $item['id'];
$updateItem->save();
}
}
}
(단지 내가 또한 양식을 확인 보여, 데이터가 잘 온다) :
<input id="basicItemNumber-31" class="form-control" name="items[31][number]" placeholder="Unique number" value="31" type="text">
통과하지 마십시오'$ item' 참고로'예기치 않은 동작을 얻을 수 for'. 즉'$ item'을 사용하십시오 * not *'& $ item' – Luke
이것을 제거하고 .it는 작동합니다 – JYoThI
값으로 전달하여 내 질문을 업데이트했지만 여전히 동일한 결과를 제공합니다. – sr9yar