123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- /**
- *
- * @author: wuhaotian<442384644@qq.com>
- * @day: 2019/12/07
- */
- namespace app\admin\model\vote;
- use crmeb\basic\BaseModel;
- use crmeb\traits\ModelTrait;
- use http\Client\Curl\User;
- /**
- * Class UserGroup
- * @package app\admin\model\user
- */
- class VoteJoin extends BaseModel
- {
- /**
- * 数据表主键
- * @var string
- */
- protected $pk = 'id';
- /**
- * 模型名称
- * @var string
- */
- protected $name = 'vote_join';
- use ModelTrait;
- public static function valid($alias = '')
- {
- return self::where($alias ? $alias . '.status' : 'status', 1);
- }
- /**
- * @param $where
- * @return array
- */
- public static function getList($id, $where)
- {
- $data = self::alias('a')
- ->where('a.vid', $id)
- ->join('user u', 'u.uid = a.uid', 'left')
- ->field('a.*,u.nickname,u.uid')
- ->order('status asc,id desc')
- ->page((int)$where['page'], (int)$where['limit'])
- ->select()
- ->each(function ($item) use ($id) {
- $user = \app\admin\model\user\User::get($item['uid']);
- $item['user_name'] = $user['nickname'];
- $item['_name'] = $item['name'] . "<br/><font style='color: #997643'>" . $item['company'] . "</font>";
- $item['_type'] = $item['type'] == 1 ? '个人' : '企业';
- $item['rank'] = self::valid()->where('vid', $id)->where('vote', '>', $item['vote'])->count() + 1;
- $item['_add_time'] = date('Y-m-d H:i:s', $item['add_time']);
- });
- $count = $data->count();
- return compact('count', 'data');
- }
- public static function getValidList($id, $where)
- {
- $data = self::valid('a')->alias('a')
- ->where('a.vid', $id)
- ->join('user u', 'u.uid = a.uid', 'left')
- ->field('a.*,u.nickname,u.uid')
- ->page((int)$where['page'], (int)$where['limit']);
- if (isset($where['key_word']) && $where['key_word']) $data = $data->where('a.name|u.uid|a.sub_id', 'like', "%" . $where['key_word'] . "%");
- if (isset($where['job']) && $where['job']) $data = $data->where('a.job', $where['job']);
- if ($where['rank']) {
- $data = $data->order('a.vote desc,a.add_time asc');
- } else {
- $data = $data->order('a.add_time', 'desc');
- }
- $data = $data->select()
- ->each(function ($item) use ($id) {
- $item['rank'] = self::valid()->where('vid', $id)->where('vote', '>', $item['vote'])->count() + 1;
- $item['_add_time'] = date('Y-m-d H:i:s', $item['add_time']);
- $item['avatar'] = urldecode($item['avatar']);
- });
- $count = $data->count();
- return compact('count', 'data');
- }
- }
|