get('mt5db'); } public function getOrderList($post) { $result = ['code'=>0,'data'=>[],'message'=>'']; $order = isset($post['order']) ? $post['order'] : ''; $orderBy = isset($post['orderBy']) ? strtolower($post['orderBy']) : 'desc'; $search = isset($post['search']) ? $post['search'] : ''; $start = isset($post['start']) ? (int) $post['start'] : 0; $length = isset($post['length']) ? (int) $post['length'] : 20; $draw = isset($post['draw']) ? $post['draw'] : 1; $where = ['and']; if($search) { $where[] = [ 'or', ['like','Order',$search], ['like',"Login",$search] ]; } $allowOrderColumn = ['Login','Order','PositionID','Symbol','Type','VolumeInitial','PriceSL','PriceTP','PriceOrder','TimeSetup','PriceCurrent','PriceTrigger','TimeDone','TimeExpiration','Reason','State','RateMargin','Comment']; if(in_array($order,$allowOrderColumn) && in_array($orderBy,['asc','desc'])){ if($orderBy == "asc"){ $orderCondition = [$order => SORT_ASC]; }else{ $orderCondition = [$order => SORT_DESC]; } }else{ $orderCondition = ['Order' => SORT_DESC]; } $query = static::find(); $query->where($where) ->orderBy($orderCondition); $count = $query->count(); $query->offset($start)->limit($length); $list = $query->asArray()->all(); // if($count){ // foreach ($list as $k => $v){ // $list[$k][''] = Utils::formatFloatOrInt($v,8); // } // } $data['data'] = $list; $data['draw'] = $draw; $data['recordsFiltered'] = $count; $data['recordsTotal'] = $count; $result['data'] = $data; $result['code'] = 1; return $result; } }