public function actionJson() { /** @var BeaconPins $model */ $models = BeaconPins::find()->asArray()->all(); foreach ($models as &$model) { $model['url'] = Url::to(['beacon/view', 'id' => $model['id']]); } $beacon_pin_array = ['pins' => $models]; Yii::$app->response->format = Response::FORMAT_JSON; return $beacon_pin_array; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = BeaconPins::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'x' => $this->x, 'y' => $this->y, 'canvas_width' => $this->canvas_width, 'canvas_height' => $this->canvas_height]); return $dataProvider; }