public function search($params) { $id = isset($_GET['id']) ? $_GET['id'] : ""; $id_bank = isset($_GET['id_bank']) ? $_GET['id_bank'] : ''; $query = BankPool::find(); if (!isset($params['sort'])) { $query->orderBy(['created_at' => SORT_DESC]); } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => '10']]); $this->load($params); if (!$this->validate()) { return $dataProvider; } if ($id) { $query->andFilterWhere(["bank_pool.id_pool" => $id]); if (isset($params['BankPoolSearch']['id_bank'])) { $id_bank = bank::find()->where(["bank_id" => $params['BankPoolSearch']['id_bank']])->one()->id_bank; } } if ($id_bank) { $query->andFilterWhere(["bank.id_bank" => $id_bank]); if (isset($params['BankPoolSearch']['id_pool'])) { $id = pool::find()->where(["pool_id" => $params['BankPoolSearch']['id_pool']])->one()->id_pool; $query->andFilterWhere(["bank_pool.id_pool" => $id]); } } $query->select('bank.bank_id,pool.pool_id,bank_pool.*')->join("LEFT JOIN", 'bank', "bank.id_bank=bank_pool.id_bank")->join("LEFT JOIN", 'pool', "pool.id_pool=bank_pool.id_pool")->all(); return $dataProvider; }
protected function findModel($id) { if (($model = BankPool::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }