Php 在数组中循环通过会话并保存到数据库
我将购物车项目保存在数组中的会话中,当我想循环它并将客户选择的所有项目保存到数据库中时,只保存第一个项目 这是我的代码,我正在使用CodeIgniter4Php 在数组中循环通过会话并保存到数据库,php,codeigniter,Php,Codeigniter,我将购物车项目保存在数组中的会话中,当我想循环它并将客户选择的所有项目保存到数据库中时,只保存第一个项目 这是我的代码,我正在使用CodeIgniter4 public function cartpayment() { foreach ($_SESSION['cart'] as $row) { $data = [ 'ord_prod'=> $row['ord_prod'], 'ord_price'=&
public function cartpayment()
{
foreach ($_SESSION['cart'] as $row) {
$data = [
'ord_prod'=> $row['ord_prod'],
'ord_price'=> $row['ord_price'],
'ord_ref' => uniqid(),
'ord_qty' => (int)$row['ord_qty'],
'ord_cus' => $row['ord_cus'],
];
if($this->PaymentModel->cartPayment($data))
{
return redirect()->to('/');
}
}
}
这是因为如果第一次
cartPayment()
调用成功,您将重定向用户。当您有一个返回值时(无论是否为重定向),函数中的其他内容都不会执行。看起来if条件为true,因此代码只运行一次并重定向。注释IF out并查看数据库中的结果。谢谢大家,我删除了IF并且工作正常。这是因为如果第一次cartPayment()
调用成功,您正在重定向用户。当您有一个返回值时(无论是否为重定向),函数中的其他内容都不会执行。看起来if条件为true,因此代码只运行一次并重定向。注释IF out并查看数据库中的结果。谢谢大家,我删除了IF并且工作正常。