field('activity.*,count(collection.id) as collection_num') ->join("collection","activity.activity_id = collection.activity_id","LEFT") ->where($where)->order($order)->limit($limit)->group('activity.activity_id')->select(); } /** * 获取当前用户所关注的收藏列表 * @param $user_id * @return array */ public function getCurrentUserCollectionList($user_id){ $collectionModel = new CollectionModel(); $collectList = $collectionModel->getList(['user_id'=>$user_id,'status'=>0],"",1000); $collectionActivityIds = []; foreach($collectList as $item){ $collectionActivityIds[$item['activity_id']] = 0; } return $collectionActivityIds; } /** * 获取当前用户是否收藏了该活动 * @param $user_id * @param $activity_id * @return array */ public function getCurrentUserIsCollection($user_id,$activity_id){ $collectionModel = new CollectionModel(); $collect = $collectionModel->getOne([ 'user_id'=>$user_id, 'activity_id'=>$activity_id, 'status'=>0 ]); return $collect; } /** * 获取该活动收藏数目 * @param $activity_id * @return array */ public function getCollectionCount($activity_id){ $collectionModel = new CollectionModel(); $collect_count = $collectionModel->where([ 'activity_id'=>$activity_id, 'status'=>0 ])->count(); return $collect_count; } }