SELECT c.* from content c inner join contentTags ct on c.id = ct.content inner join tags t on ct.tag = c.id where t.id = 1
Как написать запрос выше в Yii 2, используя методы ActiveQueryInterface
Если вы используете ActiveRecords, вы можете создать такое отношение в классе Content:
public function getTags() { return $this->hasMany(Tag::className(), ['id' => 'tag']) ->viaTable('contentTags', ['content' => 'id']); }
Использование AcitveQuery и innerJoin ()
$data = (new \yii\db\Query()) ->select('c.*') ->from('content c') ->innerJoin('contentTags ct', 'c.id = ct.content') ->innerJoin('tags t', 'ct.tag = c.id') ->where(['t.id' => 1]) ->all();