如何插入数组到BD Laravel
How to insert array to the BD Laravel
我有一个咨询,我需要插入一个我从视图的 foreach
获得的数组,但是在控制器中执行请求的那一刻我得到所有的值都是空的.
查看
@foreach($product as $prod)
<tr>
<td>
<input type ="text" name="name[]" value="{{ $prod->name}}" readonly="readonly">
</td>
<td>
<input type="text" name="price[]" class="price" value="{{ $prod->price}}" readonly="readonly">
</td>
<td>
<input type="number" min="1" max="100" class="quantity" value="1" name="quantity[]">
</td>
</tr>
@endforeach
控制器
public function store(Request $request)
{
for($i=0;$i<=2;$i++){
$detail= new Detail;
$detail->name= $request->input('name['.$i.']');
$detail->quantity= $request->input('quantity['.$i.']');
$detail->price= $request->input('price['.$i.']');
$detail->created_at = Carbon::now();
$detail->updated_at = Carbon::now();
$detail->save();
}
return redirect()->route('view')->with('success','Exit');
}
值名称、价格和数量return我是空值。
dd($request) 的结果return编辑了数组的正确值
for
控制器中的循环应该如下所示:
我创建了一个数组来存储数据,然后批量插入整个数组。
$now = Carbon::now()->toDateTimeString();
$data = [];
for($i= 0; $i <= 2; $i++){
$data[] = [
'created_at'=>$now,
'updated_at'=>$now,
'name' => $request->input("name[$i]"), //changed quotes type.
'price= $request->input("price[$i]")
/* similar for other fields....*/
];
}
Detail::insert($data);
像这样的东西可以帮助你
$input = $request->all();
for($i=1; $i<= count($input['quantity']); $i++) {
$data = [
'name' => $input['name'][$i],
'price' => $input['price'][$i],
'quantity' => intval($input['quantity'][$i])
];
Detail::create($data);
}
我有一个咨询,我需要插入一个我从视图的 foreach
获得的数组,但是在控制器中执行请求的那一刻我得到所有的值都是空的.
查看
@foreach($product as $prod)
<tr>
<td>
<input type ="text" name="name[]" value="{{ $prod->name}}" readonly="readonly">
</td>
<td>
<input type="text" name="price[]" class="price" value="{{ $prod->price}}" readonly="readonly">
</td>
<td>
<input type="number" min="1" max="100" class="quantity" value="1" name="quantity[]">
</td>
</tr>
@endforeach
控制器
public function store(Request $request)
{
for($i=0;$i<=2;$i++){
$detail= new Detail;
$detail->name= $request->input('name['.$i.']');
$detail->quantity= $request->input('quantity['.$i.']');
$detail->price= $request->input('price['.$i.']');
$detail->created_at = Carbon::now();
$detail->updated_at = Carbon::now();
$detail->save();
}
return redirect()->route('view')->with('success','Exit');
}
值名称、价格和数量return我是空值。
dd($request) 的结果return编辑了数组的正确值
for
控制器中的循环应该如下所示:
我创建了一个数组来存储数据,然后批量插入整个数组。
$now = Carbon::now()->toDateTimeString();
$data = [];
for($i= 0; $i <= 2; $i++){
$data[] = [
'created_at'=>$now,
'updated_at'=>$now,
'name' => $request->input("name[$i]"), //changed quotes type.
'price= $request->input("price[$i]")
/* similar for other fields....*/
];
}
Detail::insert($data);
像这样的东西可以帮助你
$input = $request->all();
for($i=1; $i<= count($input['quantity']); $i++) {
$data = [
'name' => $input['name'][$i],
'price' => $input['price'][$i],
'quantity' => intval($input['quantity'][$i])
];
Detail::create($data);
}