/** * Either saves or return a CartShipping model based * on the user's shopping cart. * * @return CartShipping|null */ public static function getOrCreateCartShipping() { $objShipping = null; // If we have a shipping object already, update it, otherwise create it. if (Yii::app()->shoppingcart->shipping_id !== null) { $objShipping = CartShipping::model()->findByPk(Yii::app()->shoppingcart->shipping_id); } else { $objShipping = new CartShipping(); if ($objShipping->save() === false) { Yii::log("Error saving Cart Shipping:\n" . print_r($objShipping->getErrors(), true), 'error', 'application.' . __CLASS__ . '.' . __FUNCTION__ . '.' . __LINE__); } } return $objShipping; }