255], [['title'], 'string', 'max' => 30], [['u_name'], 'string', 'max' => 100], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'travel_id' => 'Travel ID', 'prod_id' => 'Prod ID', 'star' => 'Star', 'title' => 'Title', 'content' => 'Content', 'u_name' => 'U Name', 'u_id' => 'U ID', 'create_time' => 'Create Time', 'look_over' => 'Look Over', 'type' => 'Type', 'comment_id' => 'Comment ID', 'parent_id' => 'Parent ID', 'cancel_flag' => 'Cancel Flag', ]; } /** * Des:获取产品的评论列表 * Name: getListByProdId * @param $param * @return array * @author 倪宗锋 */ public function getListByProdId($param) { $offset = (intval($param['page']) - 1) * $param['page_size'];//从第几条开始读取 //要查询的字段 $select = [ 'a.id', 'a.star', 'a.content', 'a.create_time', 'u_name' => new Expression("CONCAT(LEFT(a.u_name,3),'*****',RIGHT(a.u_name,3))"), 'head_img' => new Expression("ifnull(b.head_img,'')") ]; $list = self::find()->select($select) ->from(self::tableName() . ' a') ->innerJoin(ShUser::tableName() . ' b', 'a.u_id=b.uid') ->where(new Expression('FIND_IN_SET(:prod_id, a.prod_id)')) ->addParams([':prod_id' => $param['pro_cate_id']]) ->limit($param['page_size']) ->offset($offset) ->orderBy('a.create_time desc') ->asArray() ->all(); if (empty($list['0'])) { return []; } return $list; } /** * Des:获取行程的评论数 * Name: getTravelByTravelId * @param $param * @return int * @author 孙彤 */ public function getTravelByTravelId($param) { $result = self::find()->select('count(1)')->from(self::tableName())->where(['=', 'travel_id', $param['travel_id']]) ->asArray() ->one(); return $result['count(1)']; } /** * Des:添加评价 * Name: addComment * @param $param * @return bool * @author 倪宗锋 */ public function addComment($param) { $attr = [ 'travel_id' => $param['travel_id'], 'prod_id' => $param['prod_id'], 'star' => intval($param['star']), 'content' => $param['content'], 'title'=> '行程评价', 'u_name' => $param['u_name'], 'u_id' => $param['u_id'] ]; $self = clone $this; $self->setAttributes($attr); $flag = $self->save(); return $flag; } public function addCommentone($param) { $attr = [ // 'travel_id' => $param['travel_id'], 'prod_id' => $param['prod_id'], 'star' => $param['star'], 'content' => $param['content'], 'title'=> '行程评价', 'u_name' => $param['u_name'], 'u_id' => $param['u_id'] ]; $self = clone $this; $self->setAttributes($attr); $flag = $self->save(); return $flag; } //查询数据 public function selectComment($page='' ,$size='') { $select=[ // 'travel_id' => 'Travel ID', 'prod_id' , 'star' , 'title' , 'content' , // 'u_name' => 'U Name', 'u_id', 'create_time' // ]; if($page!=''&&$size!=''){ $offset=($page - 1) * $size; $list = self::find()->select($select) ->limit($size) ->offset($offset) ->asArray() ->all(); }else { $list = self::find()->select($select) ->asArray() ->all(); } // var_dump($list); if (empty($list)) { return []; } return $list; } public function getCommentList($param){ $offset = ($param['current_page'] - 1) * $param['page_size']; $select = [ 'id' => 'ID', 'travel_id', 'prod_id', 'star', 'title', 'content', 'u_name', 'u_id', 'create_time', 'look_over', 'type', 'comment_id', 'parent_id', 'cancel_flag', 'prod_name'=>new Expression("(select group_concat(a.pro_cate_name SEPARATOR '
') from prod_category a where find_in_set(a.pro_cate_id,prod_id))") ]; $list=self::find()->select($select) ->offset($offset) ->limit((int)$param['page_size']) ->asArray() ->all(); $result = self::find()->select('count(1) as count') ->from(self::tableName()) ->asArray() ->one(); $result = $result['count']; return ['list' => $list, 'count' => $result]; } }