/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = SourceMessage::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'category', $this->category])->andFilterWhere(['like', 'message', $this->message]); return $dataProvider; }
/** * Insert missing translation to php file * @param $event MissingTranslationEvent */ public function insertMissingTranslation($event) { Yii::$app->cache->flush(); /* find source */ $source = SourceMessage::find()->where('`category`=:category AND BINARY `message`=:message')->params([':category' => $event->category, ':message' => $event->message])->one(); /* create source message if no exist */ if (!$source) { $source = new SourceMessage(); $source->category = $event->category; $source->message = $event->message; $source->save(); } //file_put_contents('d:\log1.txt', $event->message); /* add translate message */ Yii::$app->db->createCommand()->insert($this->messageTable, ['id' => $source->id, 'language' => $event->language, 'translation' => $event->message])->execute(); //file_put_contents('D:\log.txt', 'mission'); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = SourceMessage::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'category', $this->category])->andFilterWhere(['like', 'message', $this->message]); //$query->andFilterWhere([ // 'DATE(FROM_UNIXTIME(`created_at`))' => $this->created_at, //]); return $dataProvider; }
/** * get category list * @return array */ public static function getCategoryList() { $items = SourceMessage::find()->select(['category'])->distinct()->all(); return ArrayHelper::map($items, 'category', 'category'); }