RecordsRepository.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * 通话纪录
  4. * @author system
  5. * @version 1.0
  6. * @date 2018-11-27 03:15:47
  7. *
  8. */
  9. namespace App\Repositories\Call;
  10. use App\Repositories\Base\Repository;
  11. class RecordsRepository extends Repository
  12. {
  13. public function model()
  14. {
  15. return \App\Models\CallRecordsModel::class;
  16. }
  17. public function searchRecords(array $search, array $orderby = ['id' => 'desc'], $pagesize = 20)
  18. {
  19. $currentQuery = $this->model;
  20. /*企业名称*/
  21. if (isset($search['ip']) && !empty($search['ip'])) {
  22. $keywords = $search['ip'];
  23. \Log::info($search['ip']);
  24. $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
  25. $query->where('ip', $keywords);
  26. });
  27. };
  28. if (isset($search['term_status']) && $search['term_status'] == 200) {
  29. $keywords = $search['term_status'];
  30. $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
  31. $query->where('term_status', $keywords);
  32. });
  33. };
  34. if (isset($search['term_status']) && $search['term_status'] != 200) {
  35. $keywords = $search['term_status'];
  36. $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
  37. $query->where('term_status', '!=', 200);
  38. });
  39. };
  40. if (isset($search['phone']) && !empty($search['phone'])) {
  41. $keywords = '%' . $search['phone'] . '%';
  42. $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
  43. $query->where('phone', 'like', $keywords);
  44. });
  45. };
  46. if ($orderby && is_array($orderby)) {
  47. foreach ($orderby AS $field => $value) {
  48. $currentQuery = $currentQuery->orderBy($field, $value);
  49. }
  50. };
  51. $currentQuery = $currentQuery->paginate($pagesize);
  52. return $currentQuery;
  53. }
  54. }