我需要自動將下一個orders_id
插入到數據庫中的Orders
表中。 orders_id
不是主鍵,它不會自動遞增插入編碼查詢
我需要查詢數據庫,找到最後(最高)的id值,遞增1,然後將它插入到數據庫的Orders表中。其實,我有一個運送行爲,將提供訂單運送地址。因此,只要用戶填寫地址表單並轉到付款頁面,我想要同時填寫我的Orders
表格max(orders_id)+1
。
我建立了Address
表和Orders
表之間的關係,但我的orders
表沒有被填充。請詳細介紹我正確的代碼,以便在Yii的控制器中實現它。
我對航運動作控制器是這樣的:
public function actionCheckout_shipping()
{
$address_id = Yii::app()->session->get('address_id');
if(!empty($address_id))
$address = Address::model()->findByPk($address_id);
else
$address = new Address;
$orders=new Orders;
$orders_id = Yii::app()->db->createCommand("SELECT MAX('orders_id') FROM orders_temp")->queryScalar();
$orders->orders_id=$orders_id+1;
$orders->customer_id = 1;
$orders->billing_address_id = Address::model()->address_id;
$orders->shipping_address_id = Address::model()->address_id;
$orders->payment_details_id = 1;
$orders->order_date = date('d-m-y');
$orders->shipping_amount= NULL;
$orders->total_amount = 100;
$orders->created_date = date('d-m-y');
$orders->save();
$this->render('checkout_shipping', array('address'=>$address,'selected_address'=>$selected_address),false,true);
我已經插入的代碼的用戶完成送貨地址形式的填充後訂單表來填充它。
好吧,我已經使用了關係,我的訂單模式是這樣的:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'billingAddress' => array(self::BELONGS_TO, 'Address', 'billing_address_id'),
'shippingAddress' => array(self::BELONGS_TO, 'Address', 'shipping_address_id'),
);
}
好thaks ......但我知道這樣做MySQL的方式......我想在誼控制器實現 – nerd
對不起,你的問題是模糊的,當我回答。你的編輯使它好多了。 – Lighthart