Mt4UserSearch.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace backend\models\searches;
  3. use backend\models\Mt4UserApi;
  4. use yii\data\ArrayDataProvider;
  5. use yii\data\Pagination;
  6. class Mt4UserSearch extends DataTable
  7. {
  8. /**
  9. * @param array $params
  10. * @return ArrayDataProvider
  11. */
  12. public function search($params)
  13. {
  14. $this->setAttributes($params);
  15. // 初始化DataTable查询参数
  16. $this->initSearchParams();
  17. $pagination = new Pagination();
  18. $pagination->setPageSize($this->pageSize);
  19. $data['pageSize'] = $pagination->getPageSize();
  20. $data['page'] = $this->page;
  21. if ($this->orderBy) {
  22. $data['orderBy'] = $this->orderBy;
  23. }
  24. if (!empty($this->search['value']) && trim($this->search['value']) !== '') {
  25. $data['search'] = trim($this->search['value']);
  26. }
  27. $api = new Mt4UserApi();
  28. $result = $api->getPagelist($data);
  29. $models = [];
  30. if ($result['code'] == 1) {
  31. $models = (array)$result['data']['dataList'];
  32. $pagination->totalCount = $result['data']['totalCount'];
  33. }
  34. $dataProvider = new ArrayDataProvider([
  35. 'models' => $models,
  36. 'pagination' => $pagination,
  37. 'totalCount' => $pagination->totalCount,
  38. ]);
  39. return $dataProvider;
  40. }
  41. }