12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace app\index\model\activity;
- use app\index\model\BaseModel;
- class ActivityModel extends BaseModel
- {
- protected $table='activity';
- protected $connection = 'db_activity';
- /**
- * 给前端页面显示所用 主要是活动列表+活动所收藏的人
- * @param $where
- * @param $order
- * @param int $limit
- * @return false|\PDOStatement|string|\think\Collection
- */
- public function getListAndCollection($where,$order='sort desc,activity_id desc',$limit=100){
- return $this->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;
- }
- }
|