Please help me. Works only portfolio table, portfolioLang doesn't. I've done all sticky for instruction. When I create model in the CRUD - portfolio table saves but portfolioLang doesn't.
Portfolio Model:
<?php
namespace app\models;
use omgdef\multilingual\MultilingualBehavior;
use omgdef\multilingual\MultilingualQuery;
use Yii;
/**
* This is the model class for table "{{%portfolio}}".
*
* @property integer $id
* @property string $time
* @property string $slug
* @property string $url
*
* @property PortfolioLang[] $portfolioLangs
*/
class Portfolio extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%portfolio}}';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['time', 'slug', 'url'], 'required'],
[['time', 'slug', 'url'], 'string', 'max' => 255]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => Yii::t('app', 'ID'),
'time' => Yii::t('app', 'Time'),
'slug' => Yii::t('app', 'Slug'),
'url' => Yii::t('app', 'Url'),
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getPortfolioLangs()
{
return $this->hasMany(PortfolioLang::className(), ['portfolio_id' => 'id']);
}
public function behaviors()
{
return [
'ml' => [
'class' => MultilingualBehavior::className(),
'languages' => [
'ru' => 'Russian',
'en' => 'English',
],
//'languageField' => 'language',
//'localizedPrefix' => '',
//'requireTranslations' => false',
'dynamicLangClass' => 'false',
'langClassName' => PortfolioLang::className(),
'defaultLanguage' => 'en',
'langForeignKey' => 'portfolio_id',
'tableName' => "{{%portfolioLang}}",
'attributes' => [
'name', 'description', 'skills',
]
],
];
}
public static function find()
{
return new MultilingualQuery(get_called_class());
}
}
PortfolioLang Model:
<?php
namespace app\models;
use Yii;
/**
* This is the model class for table "{{%portfolioLang}}".
*
* @property integer $id
* @property integer $portfolio_id
* @property string $language
* @property string $name
* @property string $description
* @property string $skills
*
* @property Portfolio $portfolio
*/
class PortfolioLang extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%portfolioLang}}';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['portfolio_id', 'language', 'name', 'description', 'skills'], 'required'],
[['portfolio_id'], 'integer'],
[['skills'], 'string'],
[['language', 'name', 'description'], 'string', 'max' => 255]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => Yii::t('app', 'ID'),
'portfolio_id' => Yii::t('app', 'Portfolio ID'),
'language' => Yii::t('app', 'Language'),
'name' => Yii::t('app', 'Name'),
'description' => Yii::t('app', 'Description'),
'skills' => Yii::t('app', 'Skills'),
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getPortfolio()
{
return $this->hasOne(Portfolio::className(), ['id' => 'portfolio_id']);
}
}
Please help me. Works only
portfolio
table,portfolioLang
doesn't. I've done all sticky for instruction. When I create model in the CRUD -portfolio
table saves butportfolioLang
doesn't. Portfolio Model:PortfolioLang Model:
View file: