Получить все записи из связанной таблицы

у меня есть 3 таблицы. 1 кампании отсюда берется только id, 2 цвета где 2 поля id и hex, и таблица связи с полями campaign_id, color_id и order для сортировки. Я прописал связь следующим образом

public function getColor(): \yii\db\ActiveQuery
    {
        return $this->hasOne(Color::class, ['id' => 'color_id'])
            ->viaTable('campaign_color', ['campaign_id' => 'id']);
    }

мне нужно извлечь все цвета всех компаний одного пользователя, я так понимаю мне нужно сначала получить все color_id в связанной таблице и все campaign_id юзера и взять только те цвета которые есть у этих кампаний. я пытался сделать это через leftJoin('color') но конструкция получилась излишне громоздкой и несла много не нужных атрибутов, подскажите в каком направлении двигаться.


Ответы (0 шт):