Income.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yunzhong
  5. * Date: 2018/10/22
  6. * Time: 17:37
  7. */
  8. namespace app\backend\modules\charts\models;
  9. use app\common\models\Withdraw;
  10. use Illuminate\Support\Facades\DB;
  11. class Income extends \app\common\models\Income
  12. {
  13. public function scopeSearch($query,$search)
  14. {
  15. $query->uniacid();
  16. if ($search['member_id']) {
  17. $query->whereHas('hasOneMember',function ($q) use($search) {
  18. $q->whereUid($search['member_id']);
  19. });
  20. }
  21. if ($search['member']) {
  22. $query->whereHas('hasOneMember',function ($q) use($search) {
  23. $q->searchLike($search['member']);
  24. });
  25. }
  26. if ($search['is_time']) {
  27. $searchTime = [strtotime($search['time']['start']),strtotime($search['time']['end'])];
  28. $query->whereBetween('created_at', $searchTime);
  29. }
  30. $query->whereHas('hasOneMember',function ($q) use($search) {
  31. $q->where('uid',DB::raw('ims_yz_member_income.member_id'));
  32. });
  33. return $query;
  34. }
  35. public function hasOneWithdraw()
  36. {
  37. return $this->hasOne(Withdraw::class, 'member_id', 'member_id');
  38. }
  39. public function hasOneMember()
  40. {
  41. return $this->hasOne(\app\common\models\Member::class, 'uid', 'member_id');
  42. }
  43. }