Как в DetailView отобразить отформатированный массив?

165
24 января 2020, 08:10

Есть у меня поле в модели с Json строкой. Как ей можно отобразить в как отоформатированный массив в DetailView::widget? То есть мне нужно сделать тоже самое, что конструкция

echo '<pre>'
print_r(json_decode($array, true));
echo '</pre>'

но только в значении виджета.

Конструкция вида

[
        'attribute' => 'old_values',
        'format' => 'raw',
        'value' => function($model) {
        return print_r(json_encode($model->old_values, true));
    }
],

не дает нужного результата

Answer 1

Пока сделал так:

[
    'attribute' => 'old_values',
    'format' => 'raw',
    'value' => function($model) {
        ob_start();
        echo '<pre>';
        print_r(json_decode($model->old_values, true));
        echo '</pre>';
        return ob_get_clean();
    }
],

Возможно есть решение лучше

Answer 2

return print_r(json_decode($array, true), true);

https://www.php.net/manual/ru/function.print-r.php

READ ALSO
Как запарсить массив для формирования pach

Как запарсить массив для формирования pach

Не могу разобраться нужно получить массив который бы парсил pach категорий под категорий и тог далее

132
htaccess rewrite rule

htaccess rewrite rule

Не получается сделать ЧПУСуть: Можно ли заменить такой УРЛ:

147