2015-01-12 6 views

ответ

13

Чтобы получить модель с максимальной id вы можете применить обратный порядок и ограничить к одному.

SystemStatisticsHistory::find()->orderBy(['id' => SORT_DESC])->one(); 

Другой вариант заключается в использовании подвыбор с max, как так:

SystemStatisticsHistory::find() 
    ->where(['id' => SystemStatisticsHistory::find()->max('id')]) 
    ->one(); 

Есть некоторые нюансы, используя последний вариант, проверьте this question.

Вы можете проверить документацию на max()here.

Я лично предпочитаю использовать первый вариант.

Чтобы получить первую запись, просто измените направление заказа на SORT_ASC в первом запросе и max() на min() во втором запросе.

P.S. Hardcoded id - плохая практика.

+1

Спасибо! Оно работает! – MaksimK

+1

Рад помочь. Отметьте ответ как принятый в этом случае. – arogachev

Смежные вопросы