InfoRepository.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * 挖掘线索
  4. * @author system
  5. * @version 1.0
  6. * @date 2018-11-19 08:23:08
  7. *
  8. */
  9. namespace App\Repositories\Company;
  10. use App\Repositories\Base\Repository;
  11. class InfoRepository extends Repository {
  12. public function model() {
  13. return \App\Models\CompanyInfoModel::class;
  14. }
  15. public function searchCompany(array $search,array $orderby=['id'=>'desc'],$pagesize=16)
  16. {
  17. $currentQuery = $this->model;
  18. if(isset($search['keyword']) && ! empty($search['keyword'])) {
  19. $keywords = '%' . $search['keyword'] . '%';
  20. $currentQuery = $currentQuery->where(function ($query) use ($keywords) {
  21. $query->where('companyName' , 'like', $keywords);
  22. });
  23. }
  24. if(isset($search['district']) && ! empty($search['district'])) {
  25. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  26. $query->where('district','like', '%'.$search['district'].'%');
  27. });
  28. }
  29. if(isset($search['entType']) && ! empty($search['entType'])) {
  30. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  31. $query->where('entType',$search['entType']);
  32. });
  33. }
  34. if(isset($search['openStatus']) && ! empty($search['openStatus'])) {
  35. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  36. $query->where('openStatus',$search['openStatus']);
  37. });
  38. }
  39. if(isset($search['industry']) && ! empty($search['industry'])) {
  40. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  41. $query->where('industry',$search['industry']);
  42. });
  43. }
  44. if($orderby && is_array($orderby)){
  45. foreach ($orderby AS $field => $value){
  46. $currentQuery = $currentQuery -> orderBy($field, $value);
  47. }
  48. }
  49. $currentQuery = $currentQuery->paginate($pagesize);
  50. return $currentQuery;
  51. }
  52. }