質問編集履歴

2

Controller部分の追記

2019/07/05 12:06

投稿

HirakuMorishima
HirakuMorishima

スコア29

test CHANGED
File without changes
test CHANGED
@@ -186,6 +186,32 @@
186
186
 
187
187
  ```
188
188
 
189
+
190
+
191
+ また、Controllerを以下のように変更しました。
192
+
193
+ ```php
194
+
195
+ $bills = Bill::where('invoice_id', '=', $request->bill_invoice_id)->get();
196
+
197
+ foreach($request->input("bills") as $id => $bill){
198
+
199
+ $bill->billing_item = $request->billing_item;
200
+
201
+ $bill->unit = $request->unit;
202
+
203
+ $bill->quantity = $request->quantity;
204
+
205
+ $bill->bill_unit_price = $request->bill_unit_price;
206
+
207
+ $bill->save();
208
+
209
+ }
210
+
211
+ ```
212
+
213
+
214
+
189
215
  しかし、ソースコードを確認するとarray[]の中が空欄となっていました。
190
216
 
191
217
  ![イメージ説明](7a8aefbd261f491dd935815b900877ac.png)

1

inputタグのname属性に[]を付け、配列型でControllerに受け渡した。

2019/07/05 12:06

投稿

HirakuMorishima
HirakuMorishima

スコア29

test CHANGED
File without changes
test CHANGED
@@ -133,3 +133,63 @@
133
133
  {{Form::close()}}
134
134
 
135
135
  ```
136
+
137
+
138
+
139
+ ・・・追記
140
+
141
+ [manual](https://php.net/manual/ja/faq.html.php#faq.html.arrays)には、
142
+
143
+ name属性(例えばbilling_item)に対して[]を付ければ、
144
+
145
+ indexが数値として入るとのことでしたので、以下のようにbladeを変更しました。
146
+
147
+
148
+
149
+ ```php
150
+
151
+ @foreach($billList as $val)
152
+
153
+ <tr>
154
+
155
+ <!--品番・品名-->
156
+
157
+ <td>{{Form::text('billing_item[]', $val->billing_item,['class' => 'validate', 'id' => 'billing_item'])}}</td>
158
+
159
+ <!--数量-->
160
+
161
+ <td>{{Form::text('quantity[]', $val->quantity,['class' => 'validate', 'id' => 'quantity'])}}</td>
162
+
163
+ <!--単位-->
164
+
165
+ <td>{{Form::text('unit[]', $val->unit,['class' => 'validate', 'id' => 'unit'])}}</td>
166
+
167
+ <!--単価-->
168
+
169
+ <td>{{Form::text('bill_unit_price[]', ceil($val->bill_unit_price),['class' => 'validate', 'id' => 'bill_unit_price'])}}</td>
170
+
171
+ <!--金額-->
172
+
173
+ <td>{{$val->quantity * $val->bill_unit_price}}</td>
174
+
175
+ <td><a href="#" data-id="{{$val->id}}" class="waves-effect waves-light btn del">削除</a>
176
+
177
+ </td>
178
+
179
+ {{Form::hidden('bill_invoice_id', $val->invoice_id)}}
180
+
181
+ </tr>
182
+
183
+ <?php $subtotal += $val->bill_unit_price; ?>
184
+
185
+ @endforeach
186
+
187
+ ```
188
+
189
+ しかし、ソースコードを確認するとarray[]の中が空欄となっていました。
190
+
191
+ ![イメージ説明](7a8aefbd261f491dd935815b900877ac.png)
192
+
193
+
194
+
195
+ https://php.net/manual/ja/faq.html.php#faq.html.arraysについても参照したのですが、問題が分かりませんでした…。再度、助言いただけましたら幸いです。