示例#1
0
 /**
  * 分组删除后,自动删除FriendBelongGroup的关系
  */
 protected function afterDelete()
 {
     //增加uid,防止删除系统的gid
     $condition = "(uid = {$this->uid} AND gid={$this->id})";
     FriendBelongGroup::model()->deleteAll($condition);
 }
示例#2
0
 public function actionGetAllFriends()
 {
     $model = new Friend();
     $uid = Yii::app()->user->id;
     $gid = Yii::app()->request->getParam('type');
     $page = Yii::app()->request->getParam('pageSize');
     $_GET["page"] = $page;
     $out = '';
     //初始化
     $criteria = new CDbCriteria();
     $criteria->order = 'dateline';
     $criteria->condition = "friend.uid=:uid AND status = 1";
     $criteria->params = array(':uid' => Yii::app()->user->id);
     $withOption = array('user');
     //取得数据总数,分页显示
     if (!empty($gid)) {
         //去除AR,手动LEFT JOIN
         $tablename = FriendBelongGroup::model()->tableName();
         $modelname = Friend::model()->tableName();
         $criteria->join = "LEFT JOIN {$tablename} ON {$tablename}.uid = {$modelname}.uid AND {$tablename}.fuid = {$modelname}.fuid";
         $criteria->addCondition('gid=' . $gid);
         $total = Friend::model()->count($criteria);
     } else {
         $total = Friend::model()->count($criteria);
     }
     $pages = new CPagination($total);
     $pages->pageSize = self::PAGE_SIZE;
     $pages->applyLimit($criteria);
     //获取数据集
     $friends = Friend::model()->with($withOption)->together()->findAll($criteria);
     foreach ($friends as $key => $value) {
         $out[$key]["fUid"] = $value["fuid"];
         $out[$key]["friendUserName"] = $value["fusername"];
         $out[$key]["friendHeadPic"] = '';
         // getUserFace($v["fuid"])
     }
     echo '(' . CJSON::encode($out) . ')';
 }
示例#3
0
 public function delFromGroup($gid)
 {
     $uid = $this->uid;
     $fuid = $this->fuid;
     $model = new FriendBelongGroup();
     $criteria = new CDbCriteria();
     $criteria->condition = 'uid=:uid AND fuid=:fuid AND gid = :gid';
     $criteria->params = array(':uid' => $uid, ':fuid' => $fuid, ':gid' => $gid);
     $fbg = $model->find($criteria);
     if (!empty($fbg)) {
         $rs = $fbg->delete();
         return $rs;
     } else {
         return true;
     }
 }