Давай я тебе объясню логику работы того, что тебе хочется. А ты сделаешь это с теми подсказками которые я писал ранее.
У тебя в просмотре информации о человеке, должна подключаться история баланса из 30ти последних записей. А значит в ListView у тебя должен приходить $dataProvider с инфой о балансах, инфа приходит через контроллер, а контроллер в свою очередь получает информацию из модели поиска. Выборка последних 30ти записей осуществляется в HistoryBalance. Внутри модели должен быть search($id), который принимает значение идентификатора человека. Фильтры в поиске лишние, т.к. ты не делаешь GridView, а просто вывод информации через ListView. В общем смотря как расширить функционал, тогда может и понадобятся фильтры, но и запрос в контроллере изменится.
Примерно такой запрос
Код: Выделить всё
$query = HistoryBalance::find()
->where('person_id' => $id)
->orderBy('id'=> SORT_DESC)
->limit(30);
Можно просто сделать выборку запросом и во view сделать foreach() для простого вывода информации. А не заморачиваться с ListView