Обработка данных

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
acidflash
Сообщения: 107
Зарегистрирован: 2015.09.03, 19:37

Обработка данных

Сообщение acidflash »

Есть такой код в виджете

Код: Выделить всё

       $query = Catalog::find()->where([  'status' => 1, ]); 
        
        echo $this->render('list', [
            'catalog' => (new ActiveDataProvider(['query' =>$query])),
        ]);
Во вьюхе (list) эти данные выводятся с помощью ListView :

Код: Выделить всё

<?php
    echo \yii\widgets\ListView::widget([
        'dataProvider' => $catalog,
        'itemOptions' => ['class' => 'item'],
        'layout' => '{summary}{pager}{items}{pager}',
        'itemView' => '_view',
    ]);
    ?>
Данные перед выводом нужно обработать.
Можно ли это сделать каким-то другим способом кроме прописывания php кода в _view ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Обработка данных

Сообщение zelenin »

$dataProvider->getData() вам вернет уже готовые данные. обрабатываете, запихиваете в ArrayDataProvider и...
acidflash
Сообщения: 107
Зарегистрирован: 2015.09.03, 19:37

Re: Обработка данных

Сообщение acidflash »

а если мне нужно отформатировать цену?
acidflash
Сообщения: 107
Зарегистрирован: 2015.09.03, 19:37

Re: Обработка данных

Сообщение acidflash »

или обработать в зависимости от выбранной валюты?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Обработка данных

Сообщение zelenin »

acidflash писал(а):а если мне нужно отформатировать цену?
отформатируйте
acidflash
Сообщения: 107
Зарегистрирован: 2015.09.03, 19:37

Re: Обработка данных

Сообщение acidflash »

Calling unknown method: yii\data\ActiveDataProvider::getData()

По идее манипуляции с данными в модели делаются с помощью fields
Например public function fields()
{
return [

'model' => function () {
return $this->model . '000000000';
},
];
}

но как тогда составить код запроса ?
$l = new Catalog();
$query = $l->find()->where([
'status' => 1,
]);

прошу прощения, Yii2 начал изучать недавно, казалось что подобный тривиальный вопрос должен на раз в нем решаться
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Обработка данных

Сообщение zelenin »

acidflash писал(а):Calling unknown method: yii\data\ActiveDataProvider::getData()
prepareModels()
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Обработка данных

Сообщение zelenin »

acidflash писал(а):По идее манипуляции с данными в модели делаются с помощью fields
fields используется когда есть asArray() или toArray()
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Обработка данных

Сообщение ElisDN »

А не проще ли форматирование в хелпер вынести и его в представлении вызывать?
Ответить