链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

60 lines
1.7 KiB

<?php
namespace App\Admin\Repositories\v3;
use App\Models\v3\Coupon as Model;
use Dcat\Admin\Grid\Model as GridModel;
use Dcat\Admin\Repositories\EloquentRepository;
use App\Models\v3\CouponUse as CouponUseModel;
use Illuminate\Support\Facades\DB;
class Coupon extends EloquentRepository
{
/**
* Model.
*
* @var string
*/
protected $eloquentClass = Model::class;
/**
* 查询Grid表格数据.
*
* @param Grid\Model $model
*
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|Collection|array
*/
public function get(GridModel $model)
{
$this->setSort($model);
$this->setPaginate($model);
$query = $this->newQuery();
if ($this->relations) {
$query->with($this->relations);
}
$model->getQueries()->unique()->each(function ($value) use (&$query) {
if ($value['method'] == 'paginate') {
$value['arguments'][1] = $this->getGridColumns();
} elseif ($value['method'] == 'get') {
$value['arguments'] = [$this->getGridColumns()];
}
$query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []);
});
// dd(CouponUseModel::where('system_coupon_id',16)->sum('number'));
// $u = DB::table('ims_system_coupon_user_use')->where('system_coupon_id',16)->count('number');
// dd($u);
// $list = $query->toArray();
// foreach($list as &$value){
// // 查询使用数量
// $value['use_total'] = CouponUseModel::where('system_coupon_id',16)->count('number');
// dd( $value['use_total'] );
// }
return $query;
}
}