Перейти к содержимому


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 207 2 темы, 17 сообщений, 6 баллов репутации

  • Фотография Ixman
    #2

    Ixman (o5cat.ru)
    Очков активности: 105 0 тем, 10 сообщений, 7 баллов репутации

  • Фотография WGN
    #3

    WGN (worldgamenews.com)
    Очков активности: 81 Вне конкурса за определение пользователя месяца

  • Фотография magnet
    #4

    magnet (rbfxdirect.com)
    Очков активности: 67.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #5

    BLIK
    Очков активности: 36 Вне конкурса за определение пользователя месяца

  • Фотография AnnaYa
    #6

    AnnaYa (topbase.ru)
    Очков активности: 33 2 темы, 5 сообщений, 2 балла репутации

  • Фотография Developer
    #7

    Developer
    Очков активности: 33 2 темы, 16 сообщений, 1 балл репутации

  • Фотография TimurR
    #8

    TimurR
    Очков активности: 31.5 Вне конкурса за определение пользователя месяца

  • Фотография Алексей111
    #9

    Алексей111
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

  • Фотография fedornabilkin
    #10

    fedornabilkin (zaka4ano.ru)
    Очков активности: 24 0 тем, 4 сообщения, 4 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 24.09.2018
Топ 5 участников по репутации


Yii2: сортировка по вычисляемому полю

#1 fedornabilkin

fedornabilkin
  • Модератор
  • 1127 сообщений
  • Репутация: 189
0

Отправлено 11 January 2018 - 10:24

Здравствуйте. Вопрос касается знатоков фреймворка Yii2, а конкретно особенностей его Active Records.

Есть таблица:

id
uid_test
uid_person
points
 
Необходимо получить сумму баллов всех тестов для каждого пользователя.
Делаю запрос:
$query = History::find()
            ->select('SUM(points) as point_all, uid_person')
            ->where(['id' => $this->nn_quiz['ids']])
            ->andFilterWhere(['uid_person' => $this->uid_person])
            ->groupBy('uid_person')
        ;
        var_dump($query->limit(15)->all());exit;

Получаю только uid_person.

Что я делаю не так? Как получить points_all и сортировать по этому полю по убыванию?

Что-то я не встречал тут специалистов, но мало ли.


 

 

  • 0

Надо обсудить предложение. А тут знакосчиталка считает знаки. Про Yii2 написано.



#2 fedornabilkin

fedornabilkin
    Topic Starter
  • Модератор
  • 1127 сообщений
  • Репутация: 189

Отправлено 11 January 2018 - 17:08

Ошибка оказалось совершенно банальной. Т.к. модель не содержит поля points_all, это поле игнорируется. Для вывода необходимо добавить ->asArray()

Сам спросил, сам ответил. Никто не работает с Yii2 что ли? Очень интересный фреймворк, уже много готовых модулей есть.


  • 0

Надо обсудить предложение. А тут знакосчиталка считает знаки. Про Yii2 написано.



#3 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3013 сообщений
  • Репутация: 813

Отправлено 11 January 2018 - 17:28

Оффтопик


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/



Оформление форума – IPBSkins.ru