Как вывести свой запрос в GridView

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

Как вывести свой запрос в GridView

Сообщение Columbia »

Создал CRUD
Выводит все записи из бд
Как сделать так чтобы выводило мой запрос?
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Как вывести свой запрос в GridView

Сообщение Dominus »

А так он чей запрос выводит?)
https://www.yiiframework.com/doc/guide/ ... s#gridview
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Evg
Сообщения: 6
Зарегистрирован: 2018.04.16, 07:10

Re: Как вывести свой запрос в GridView

Сообщение Evg »

Атрибут грида

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

['attribute'=>'Cartridge','value'=>function($model){return Ordercartridge::viewCartridge($model);}]
В модели у меня

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

    public static function viewCartridge($model){
        $ret = Cartridge::find()->where(['id'=>$model->cartridge])->one();
        return $ret['title'];
    }
Ну а вообще пример запроса было бы предпочтительнее посмотреть, наверное
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Как вывести свой запрос в GridView

Сообщение someweb »

В модель

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

public function getCartridge()
{
    return $this->hasOne(Cartridge::class, ['id' => 'cartridge']);
}
В GridView просто 'cartridge.title' как обычное поле
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Columbia
Сообщения: 43
Зарегистрирован: 2018.03.28, 14:43

Re: Как вывести свой запрос в GridView

Сообщение Columbia »

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

$query = new Query;
            $query->select('*')
            ->from('history_orders')
            ->where('username' => $user->username);
            $command = $query->createCommand();
            $data = $command->queryAll();
Вот запрос
Хотел бы чтобы выводил Grid этот запрос
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Как вывести свой запрос в GridView

Сообщение someweb »

Сделайте CRUD на history_orders и выводите.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как вывести свой запрос в GridView

Сообщение andku83 »

если я правильно понял:

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

 echo $dataProvider->query->createCommand()->rawSql
только без лимита и офсета и сортировки

а в полном виде можно увидеть в дебагере
Ответить