链街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.
 
 
 
 

50 lines
1.6 KiB

<?php
namespace App\Admin\Repositories;
use App\Models\ImsCjdcOrderMain as Model;
use Dcat\Admin\Grid;
use Dcat\Admin\Repositories\EloquentRepository;
class ImsCjdcOrderMain extends EloquentRepository
{
/**
* Model.
*
* @var string
*/
protected $eloquentClass = Model::class;
public function get(Grid\Model $model)
{
$builder = new \App\Models\ImsCjdcOrderMain();
$builder = $builder::leftJoin('ims_cjdc_user','ims_cjdc_user.id','ims_cjdc_order_main.user_id')
->with('market')
->select('ims_cjdc_order_main.*','ims_cjdc_user.name as user_name')
->where('type',1)
->orderBy('ims_cjdc_order_main.id','desc');//只取线上订单数据
$this->setSort($model);
$this->setPaginate($model);
$query = $builder;
$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'] ?? []);
});
$query = $query->toArray();
foreach ($query['data'] as &$value){
if ($value['state']==3&&$value['order_shipping_code']==1){
$value['state'] = 31;
}
}
$query = $model->makePaginator($query['total'],$query['data']);
return $query;
}
}