MemberSearch.php 1.4 KB

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