admin/app/backend/modules/charts/models/Income.php

54 lines
1.3 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: yunzhong
* Date: 2018/10/22
* Time: 17:37
*/
namespace app\backend\modules\charts\models;
use app\common\models\Withdraw;
use Illuminate\Support\Facades\DB;
class Income extends \app\common\models\Income
{
public function scopeSearch($query,$search)
{
$query->uniacid();
if ($search['member_id']) {
$query->whereHas('hasOneMember',function ($q) use($search) {
$q->whereUid($search['member_id']);
});
}
if ($search['member']) {
$query->whereHas('hasOneMember',function ($q) use($search) {
$q->searchLike($search['member']);
});
}
if ($search['is_time']) {
$searchTime = [strtotime($search['time']['start']),strtotime($search['time']['end'])];
$query->whereBetween('created_at', $searchTime);
}
$query->whereHas('hasOneMember',function ($q) use($search) {
$q->where('uid',DB::raw('ims_yz_member_income.member_id'));
});
return $query;
}
public function hasOneWithdraw()
{
return $this->hasOne(Withdraw::class, 'member_id', 'member_id');
}
public function hasOneMember()
{
return $this->hasOne(\app\common\models\Member::class, 'uid', 'member_id');
}
}