lajax\translatemanager\models\searches\LanguageSourceSearch::search PHP Method

    public function search($params)
    {
        $translateLanguage = Yii::$app->request->get('language_id', Yii::$app->sourceLanguage);
        $sourceLanguage = $this->_getSourceLanguage();
        $query = LanguageSource::find();
        $dataProvider = new ActiveDataProvider(['query' => $query]);
        $dataProvider->setSort(['attributes' => ['id', 'category', 'message', 'translation' => ['asc' => ['lt.translation' => SORT_ASC], 'desc' => ['lt.translation' => SORT_DESC], 'label' => Yii::t('language', 'Translation')]]]);
        if (!($this->load($params) && $this->validate())) {
            $query->joinWith(['languageTranslate' => function ($query) use($translateLanguage) {
                $query->from(['lt' => LanguageTranslate::tableName()])->onCondition(['lt.language' => $translateLanguage]);
            }]);
            $query->joinWith(['languageTranslate0' => function ($query) use($sourceLanguage) {
                $query->from(['ts' => LanguageTranslate::tableName()])->onCondition(['ts.language' => $sourceLanguage]);
            }]);
            return $dataProvider;
        }
        $query->andFilterWhere(['id' => $this->id, 'category' => $this->category]);
        $query->andFilterWhere(['or', $this->createLikeExpression('message', $this->message), $this->createLikeExpression('ts.translation', $this->message)]);
        $query->joinWith(['languageTranslate' => function ($query) use($translateLanguage) {
            $query->from(['lt' => LanguageTranslate::tableName()])->onCondition(['lt.language' => $translateLanguage]);
            if (!empty($this->searchEmptyCommand) && $this->translation == $this->searchEmptyCommand) {
                $query->andWhere(['or', ['lt.translation' => null], ['lt.translation' => '']]);
            } else {
                $query->andFilterWhere($this->createLikeExpression('lt.translation', $this->translation));
            }
        }]);
        $query->joinWith(['languageTranslate0' => function ($query) use($sourceLanguage) {
            $query->from(['ts' => LanguageTranslate::tableName()])->onCondition(['ts.language' => $sourceLanguage]);
        }]);
        return $dataProvider;
    }

Usage Example

 /**
  * List of language elements.
  * @return string
  */
 public function run()
 {
     $searchModel = new LanguageSourceSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->getQueryParams());
     TranslateAsset::register(Yii::$app->controller->view);
     TranslatePluginAsset::register(Yii::$app->controller->view);
     return $this->controller->render('translate', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel, 'language_id' => Yii::$app->request->get('language_id', '')]);
 }
All Usage Examples Of lajax\translatemanager\models\searches\LanguageSourceSearch::search