/** * Set view counter * * @param Order $order * @param User $user * @return bool */ protected function setView(Order $order, User $user) { if (!$order->isViewedByUser($user)) { $orderUserView = new OrderUserView(); $orderUserView->setAttributes(['order_id' => $order->id, 'user_id' => $user->id]); return $orderUserView->save(); } return false; }
/** * Get deleted unviewed order count * * @param User $user * @return string */ public function getUnviewedDeletedOrderCountByUser(User $user) { $orderUserView = OrderUserView::model()->getOrderUserViewByUser($user); $orderUserViewList = CHtml::listData($orderUserView, 'order_id', 'user_id'); $orderUserViewIds = array_keys($orderUserViewList); $criteria = new CDbCriteria(); $criteria->addNotInCondition('id', $orderUserViewIds); $criteria->compare('is_deleted', self::IS_DELETED); return self::model()->count($criteria); }