Ideas::find()
->select(['i.id', 'i.src_small as src']) // Возможно просто одной сторокой select('i.id, i.src_small as src'). Проверить под рукой правильность нет.
->from(['i' => Ideas::tableName()])
->join('JOIN', ['f' => IdeasFilters::tableName()], 'f.id=i.id') // USING в yii2 нету поэтому так
->where(['f.filter' => $array]) // $array чистый массив в 1 колонку с числовыми индексами 0,1,2 etc. В общем обычный массив вида [23,43,52]
->groupBy('i.id')
->having(['COUNT(DISTINCT f.filter)' => count($array)])
->orderBy(['i.id' => SORT_DESC])
->all(); // или one() смотря что нужно.
Классы названы стандартно при создании моделей через gii. Если у вас другие модели, то измените название. В целом должно работать.
P.S.
Забыл. У модели Ideas нужно будет добавить свойство
public $src;
Т.к. дефолтно его нет, но для объекта AR оно будет использоваться(в запросе есть
i.src_small as src
). Однако Yii не позволит создать "на лету" это свойство, и поэтому надо его прописать.