Код: Выделить всё
class ArticleFile extends ActiveRecord
{
/**
* @return \yii\db\ActiveQuery
*/
public function getFile()
{
return $this->hasOne(File::className(), ['id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getArticle()
{
return $this->hasOne(Article::className(), ['id' => 'article_id']);
}
}
class Article extends ActiveRecord
{
/**
* @return \yii\db\ActiveQuery
*/
public function getArticleFiles()
{
return $this->hasMany(ArticleFile::className(), ['article_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getFiles()
{
return $this->hasMany(File::className(), ['id' => 'id'])->viaTable('{{%article_file}}', ['article_id' => 'id']);
}
}
class File extends ActiveRecord
{
/**
* @return \yii\db\ActiveQuery
*/
public function getArticleFiles()
{
return $this->hasMany(ArticleFile::className(), ['id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getArticles()
{
return $this->hasMany(Article::className(), ['id' => 'article_id'])->viaTable('{{%article_file}}', ['id' => 'id']);
}
}
Код: Выделить всё
$article->files; /** File[] */
$file->articles; /** Article[] */