ArticleCategory::find(), 'pagination' => [ 'pageSize' => 1, ], ]); return $this->render('index', ['dataProvider' => $dataProvider]); } public function actionCreate() { $category_langs = array(); $category = new ArticleCategory(); $langs = Language::getActiveLanguages(); $default_lang = Language::getDefaultLang(); $isValid = false; if(!empty(\Yii::$app->request->post())) { $isValid = true; $category->load(\Yii::$app->request->post()); $isValid = $category->validate(); if(empty(\Yii::$app->request->post()['ArticleCategoryLang'])) { $category_langs[$default_lang->language_id] = new ArticleCategoryLang(); $isValid = ArticleCategoryLang::validateMultiple($category_langs) && $isValid; } else { foreach(\Yii::$app->request->post()['ArticleCategoryLang'] as $index => $category_lang) { $category_langs[$index] = new ArticleCategoryLang(); } ArticleCategoryLang::loadMultiple($category_langs, \Yii::$app->request->post()); $isValid = ArticleCategoryLang::validateMultiple($category_langs) && $isValid; } } else { $category_langs[$default_lang->language_id] = new ArticleCategoryLang(); } if($isValid) { $category->save(false); foreach($category_langs as $category_lang) { $category_lang->link('category', $category); } echo "ok"; } else { return $this->render('create', [ 'category_langs' => $category_langs, 'category' => $category, 'langs' => $langs ]); } } }