Можно реализовать по разному. Во фреймворке для фильтрации данных моделей предусмотрен механизм "форм фильтрации" - моделей наследуемых от AR-моделей с методом search, который возвращает ActiveDataProvider.
Вот в этом ActiveDataProvider есть специальные методы для того что вам нужно (типа andFilterWhere)
Я бы вам посоветовал изучить тему создания своих виджетов Yii.
На мой взгляд, когда надо отображать что-то такое этакое, то быстрее свой виджет накатать (если готовых в сети нет).
На мой взгляд, если у вас при этом меняется структура БД, то можно совместить с миграцией. Если же просто данные переносятся, то делайте консольную команду.
Сделайте в контроллере свой actionIndex с нужной вам логикой запроса. Что вроде этого:
class PostController extends Controller
{
public function actionIndex()
{
return new ActiveDataProvider([
'query' => Post::find()->joinWith('comments')->...чего-то-там-ещё,
]);
}
}
Как выше уже отметили - лучше дать пользователю нормальный редактор. Кроме Ckeditor для Yii есть ещё Redactor Он был куплен сообществом Yii и теперь его можно бесплатно использовать в Yii-проектах. Вот готовый composer-пакет с различными плагинами, в том числе загрузкой картинок и файлов.