InfoRepository.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * 订单列表
  4. * @author system
  5. * @version 1.0
  6. * @date 2018-07-12 08:32:14
  7. *
  8. */
  9. namespace App\Repositories\Order;
  10. use App\Repositories\Base\Repository;
  11. class InfoRepository extends Repository {
  12. public function model() {
  13. return \App\Models\OrderInfoModel::class;
  14. }
  15. public function searchOrder(array $search,array $orderby=['id'=>'desc'],$pagesize=25)
  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('out_trade_no' , 'like', $keywords)
  22. ->orwhere('username', 'like', $keywords)
  23. ->orwhere('email', 'like', $keywords)
  24. ->orwhere('phone', 'like', $keywords);
  25. });
  26. }
  27. if(isset($search['status'])) {
  28. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  29. $query->where('status', $search['status']);
  30. });
  31. }else{
  32. $currentQuery = $currentQuery->where(function ($query) use ($search) {
  33. $query->where('status','>' ,0);
  34. });
  35. }
  36. if($orderby && is_array($orderby)){
  37. foreach ($orderby AS $field => $value){
  38. //dd($orderby);
  39. $currentQuery = $currentQuery -> orderBy($field, $value);
  40. }
  41. }
  42. // $currentQuery = $currentQuery->paginate($pagesize);
  43. return $currentQuery;
  44. }
  45. }