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.
|
|
<?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; }}
|