1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Modules\Book\Models;
- use DB;
- use Illuminate\Database\Eloquent\Model;
- class BookSearchStat extends Model
- {
- protected $table = 'book_search_stats';
- protected $fillable = ['uid', 'openid', 'type', 'content'];
- static function getInfo($params, $is_all = false)
- {
- \Log::info($params);
- $search_obj = self::select(
- 'content',
- DB::raw('count(distinct uid) user_num'),
- DB::raw('count(*) search_num'));
- if (isset($params['begin_time']) && $params['begin_time']) {
- $search_obj->where('created_at', '>=', $params['begin_time']);
- }
- if (isset($params['end_time']) && $params['end_time']) {
- $search_obj->where('created_at', '<=', $params['end_time'] . ' 23:59:59');
- }
- if (isset($params['type']) && $params['type']) {
- $search_obj->where('type', $params['type']);
- }
- $search_obj->orderBy(DB::raw('count(*)'), 'desc');
- $search_obj->groupBy('content');
- \Log::info($search_obj->toSql());
- if ($is_all) {
- return $search_obj->get();
- } else {
- return $search_obj->paginate();
- }
- }
- }
|