2015-01-12 19 views
5

Tablodan en son kayıt (MAX(id) kullanıyor) nasıl seçilir?
Sonraki deyimi Tamam çalışır, ancak ilk kaydını seçer:Tablodaki son kaydı seçin

$statistics = SystemStatisticsHistory::findOne(1); 

cevap

13

Eğer birine ters düzen ve sınırı uygulayabilirsiniz max id ile modelini almak için.

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

Diğer bir seçenek şöyle max ile Alt Seç'i kullanmaktır:

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

son seçeneği kullanarak bazı nüanslar vardır, this question kontrol edin.

max()here belgelerini kontrol edebilirsiniz.

Kişisel olarak ilk varyasyonu kullanmayı tercih ediyorum.

İlk kaydı almak için, ilk sorguda sipariş yönünü SORT_ASC ve ikinci sorguda max() - min() olarak değiştirin.

P.S. Hardcoded id kötü bir uygulamadır.

+1

Teşekkür ederiz! İşe yarıyor! – MaksimK

+1

Yardım etmekten memnun oldum. Bu durumda kabul edilen cevabı işaretleyin. – arogachev

İlgili konular