yii2 неверно отображается массив
Использую GridView виджет от Yii2 Для получения информации в GridView использую DataProvider и делаю запрос в бд, для получения отзыва и комментариев к отзыву (связь настроена).
$dataProvider = new ActiveDataProvider([
'query' => Review::find()->orderBy(['created_at'=>SORT_DESC])->with('comments'),
'sort' => false,
'pagination' => [
'pageSize' => 30
],
]);
return $this->render('reviews',compact('dataProvider'));
Далее сама таблица
<?
use yii\helpers\Html;
use yii\helpers\Url;
use yii\grid\GridView;
$this->context->title = Yii::t('manager','Reviews list');
$this->registerJsFile('web/libs/app/app.js');
?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'summary' => false,
'tableOptions' => [
'class' => 'table pure',
[
'format' => 'raw',
'value' => function($review){
$comments = $review->comments;
?>
<div id="myModal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<?
echo '<pre>';
var_dump($comments);
echo '</pre>';
?>
</div>
</div>
<?
return Html::a(Yii::t('manager','Comments'), 'javascript:;', [ 'id' => $review->id]);}],
],
]) ?>
В коде выше внимание на строку с выводом массива $comments. Он пуст, если находится внутри html кода, однако если вытащить его за пределы, к примеру дампить массив в начале функции, или после html кода - в этом массиве появляются комментарии относящиеся к отзыву.
UPD: Забыл добавить, он именно пуст, он есть, но он пуст - то есть на странице я вижу следующее
А если писать вне HTML , то вот

