1
に私はこれらのモデルを持っている: Yiiの2検索で2多くの多くの関係
class Article extends \yii\db\ActiveRecord
{
.....
public function getTags()
{
return $this->hasMany(Tag::className(), ['id' => 'tag_id'])->viaTable('rel_tag_article', ['article_id' => 'id']);
}
}
class News extends \yii\db\ActiveRecord
{
.....
public function getTags()
{
return $this->hasMany(Tag::className(), ['id' => 'tag_id'])->viaTable('rel_tag_news', ['news_id' => 'id']);
}
}
class Tag extends \yii\db\ActiveRecord
{
.....
public function getRelTagArticles()
{
return $this->hasMany(RelTagArticle::className(), ['tag_id' => 'id']);
}
public function getRelTagNews()
{
return $this->hasMany(RelTagNews::className(), ['tag_id' => 'id']);
}
}
とコントローラ...here...
の下
class ArticleController extends \yii\web\Controller
{
public function actionArticle($id_article)
{
$article = User::find($id_article);
...... here ....
return $this->render('article');
}
}
私は実際に共通のタグを持っているニュースを見つけなければならないで
記事。正しい方法は何ですか?
を取得するためのタグを取得するために、物品のアクティブレコードを使用し、ターン使用タグにすることができます。 SELECT * FROM rel_tag_articleのようなもの INNER JOIN rel_tag_news t1 ON t.id = t1.id WHERE t.article_id = 123 'はうまくいくはずです。 – ineersa