php - 向每个数组元素添加另一个元素php
问题描述
我在逻辑领域还有一个问题。
我有一个包含 id 的数组:
$product_ids = ['1', '5', '3']; <- 示例
我将另一个字符串转换为用逗号分隔的数组,这表示要提取的产品数量。例如,对于产品 1,我想要 3 个驱动器,因此我需要数组元素为“1,3”。
$finalarray = ["1,3", "5,2", "3,10"];
接下来我指出在控制器中执行的代码(我之前告诉过的代码在哪里):
public function ordenform(Request $request)
{
$input = $request->all();
$request->validate([
'nombre' => 'required|string',
'apellido' => 'required|string',
'productos' => 'required',
'cantidades' => 'required|string',
'enviosino' => 'required|in:si,no',
]);
// Quantity Array
$cantidades = explode(',', $input['cantidades']);
if (count($cantidades) != count($input['productos'])) {
return back()->withErrors(['Las cantidades no corresponden a los productos agregados']);
}
$total = 0;
$ganancia = 0;
foreach ($input['productos'] as $producto) {
$producto = Product::find((int) $producto);
$total += $producto->value;
$ganancia += $producto->ganancia;
$producto->stock = (int) $producto->stock - 1;
$producto->save();
}
if ($input['enviosino'] == 'si') {
$total += (int) $input['envio'];
}
if ($input['envio'] == null) {
$input['envio'] = 0;
}
// Products IDS Array
$jsonproductos = json_encode($input['productos']);
Order::create([
'nombre' => $input['nombre'],
'apellido' => $input['apellido'],
'product_ids' => $finalprods,
'value' => $total,
'ganancia' => $ganancia,
'envio' => $input['envio'],
]);
$caja = Config::where('id', 1)->get()->first();
$caja->dinerototal += $total;
$caja->gananciatotal += $ganancia;
$caja->save();
return back()->with('success', 'Orden creada correctamente');
}
最后,我需要将最终数组作为创建参数传递给列 products_ids(稍后我将修改名称)。
我想到的另一个选择是将对象传递给数组:
[{id:1,数量:3}]
但是我不知道如何创建那个对象,我还是个新手,呵呵。
我希望我已经很好地解释了自己,英语不是我的母语。对不起。
我很注意你的评论!!问候。
PS:我正在使用 Laravel
解决方案
没关系,解决了->
$prodsfinal = array();
for ($i = 0; $i < sizeof($cantidades); $i++) {
$array = [
'id' => json_decode($input['productos'][$i]),
'cantidad' => (int) $cantidades[$i],
];
array_push($prodsfinal, $array);
}
推荐阅读
- gitlab - GitLab 子域,通过 HTTPS 克隆确实有效。通过 SSH 克隆不起作用
- javascript - React - 定时动作不加载特定组件
- symfony - Symfony 4:将自定义数据传递给表单集合原型
- c++ - C ++如何在函数的一行中读取更多整数?
- php - 从外部 PHP 类返回值以用于 If 条件
- eloquent - 如何在 laravel 中写哪一年的一对多关系?
- python - 如何在文件名中使用点导入包/文件夹中的模块以进行相对导入?
- jquery - JQuery - 单个元素上的 toggleClass 和 removeClass 功能
- ios - 在 iOS 应用程序 (Swift) 中与电报共享消息
- google-assistant-sdk - 运行仿生的虚拟机上的热词演示段错误