所以我有两个表order_manager和order。目标是将订单管理器中的order_id插入到user_order表中。
我不确定如何使用变量$order_id在我的控制器在这种情况下。我尝试使用InsertLastId,因为我认为这将是最好的解决方案。但是我仍然不知道如何在控制器中获取它的值。
这是我的控制器
if($artworks -> confirm_order($full_name,$phone,$address,$email));{//this table has a primary key of order_id thats auto increments
foreach($_SESSION['cart'] as $key => $values)
{
$title=$values['title'];
$price=$values['price'];
$quantity=$values['quantity'];
$artworks -> new_user_order(/*$order_id,*/$title,$price,$quantity);//foreign key of order_id
}
unset($_SESSION['cart']);
}
这是我的模型
public function new_user_order($order_id,$title,$price,$quantity){
$sql = "INSERT INTO user_orders(order_id,title,price,quantity) VALUES(?,?,?,?)";
$stmt = $this->connect()->prepare($sql);
$stmt->execute([$order_id,$title,$price,$quantity]);
//$order_id = $this->connect()->LastInsertId();
header("location: {$_SERVER['HTTP_REFERER']}");
}
我认为正确的做法是
$order_id = $stmt->insert_id;