HeadlineStat.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: admin
  5. * Date: 2019/1/23
  6. * Time: 9:25
  7. */
  8. namespace App\Modules\MediaPush\Models;
  9. use DB;
  10. use Illuminate\Database\Eloquent\Model;
  11. class HeadlineStat extends Model
  12. {
  13. protected $table = 'media_push_headline_stats';
  14. protected $fillable = ['id', 'headline', 'seq', 'push_num', 'click_num', 'created_at', 'updated_at'];
  15. public static function getHeadlineStat($params = [], $isAll = false)
  16. {
  17. \Log::info($params);
  18. $search_object = self::select('id', 'headline', 'seq', 'push_num', DB::raw('click_num/push_num clickRate'),'click_num', 'created_at', 'updated_at');
  19. if (isset($params['headline']) && $params['headline']) {
  20. $search_object->where('headline', 'like', '%' . $params['headline'] . '%');
  21. }
  22. if (isset($params['seq']) && $params['seq']) {
  23. $search_object->where('seq', $params['seq']);
  24. }
  25. $orderBy = 'id';
  26. $orderType = 'desc';
  27. if (isset($params['orderType']) && $params['orderType']) {
  28. $orderType = $params['orderType'];
  29. }
  30. if (isset($params['orderBy']) && $params['orderBy']) {
  31. $orderBy = $params['orderBy'];
  32. }
  33. $search_object->orderBy($orderBy, $orderType);
  34. \Log::info($search_object->toSql());
  35. if ($isAll) {
  36. return $search_object->get();
  37. } else {
  38. return $search_object->paginate();
  39. }
  40. }
  41. }