| 12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- namespace App\Models;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Pagination\LengthAwarePaginator;
- use Illuminate\Support\Facades\Request;
- class Top extends Model
- {
- public function paginate()
- {
- $perPage = Request::get('per_page', 10);
-
- $page = Request::get('page', 1);
- $uid = Request::get('uid');
-
- $start = ($page-1)*$perPage;
- // 运行sql获取数据数组
- if($uid){
- $total=DB::select('select COUNT(*) as a FROM ( select uid, DATE(created_at) as a from love_live_statistics WHERE uid='.$uid.' GROUP BY uid,a ORDER BY a desc) AS Aa');
- $sql = 'select lid, uid, DATE(created_at) as a , sum(end_time-start_time) as b from love_live_statistics where uid='.$uid." GROUP BY uid,a ORDER BY a desc LIMIT $start,$perPage";
- }else{
- $total=DB::select('select COUNT(*) as a FROM ( select uid, DATE(created_at) as a from love_live_statistics GROUP BY uid,a ORDER BY a desc) AS Aa');
- $sql = 'select lid, DATE(created_at) as a , sum(end_time-start_time) as b from love_live_statistics GROUP BY uid,a ORDER BY a desc'." LIMIT $start,$perPage";
- }
-
- $result = DB::select($sql);
- $movies = static::hydrate($result);
- $paginator = new LengthAwarePaginator($movies,$total[0]->a, $perPage);
-
- $paginator->setPath(url()->current());
-
- return $paginator;
- }
-
- }
|