Order By Nedir ?

Order by ifadesi sql sorgularında veri çekerken, verileri büyükten küçüğe ya da küçükten büyüğe doğru sıralamamızı sağlar. Sözdizimi şu şekildedir.

SELECT  alan_adi1,alan_adi2
FROM tablo_adi
ORDER BY alan_adi2 ASC

Laravel orderBy Metodu Kullanımı

orderBy yöntemi, sorgunun sonuçlarını belirli bir sütuna göre sıralamanıza olanak tanır. orderBy yöntemi tarafından kabul edilen ilk parametre, sıralamak istediğiniz sütun olmalıdır, ikinci argüman ise sıralamanın yönünü belirler ve artan veya azalan olabilir.

Mesela veritabanında kişi tablosunda çektiğimiz verileri yaşa göre sıralamak istersek şu şekil bir komut yazmamız yeterli olacaktır.

$users = DB::table('kisiler')
                ->orderBy('yas', 'desc')
                ->get();

Eğer birden fazla sütunu sıralamak istiyorsanız orderBy metodunu zincirleme olarak birden fazla kez kullanabilirsiniz.

$users = DB::table('kisi')
                ->orderBy('yas', 'desc')
                ->orderBy('isim', 'asc')
                ->get();

Laravel latest ve oldest Metodu Kullanımı

Latest ve Oldest metotları sonuçları tarihe göre kolayca sıralamanıza olanak tanır. Varsayılan olarak sonuç, tablonun create_at sütununa göre sıralanır. Veya sıralamak istediğiniz sütun adını iletebilirsiniz.

$user = DB::table('kisiler')
                ->latest()
                ->first();

Laravel Rastgele Sıralama

Sorgu sonuçlarını rastgele sıralamak için inRandomOrder yöntemi kullanılabilir. Örneğin, rastgele bir kullanıcı getirmek için bu yöntemi kullanabilirsiniz.

$randomUser = DB::table('kisiler')
                ->inRandomOrder()
                ->first();

Laravel Order İşlemini Kaldırma

reOrder metodu, sorguya daha önce uygulanmış olan tüm “order by” yan cümlelerini kaldırır.

$query = DB::table('kisiler')->orderBy('isim');
$unorderedUsers = $query->reorder()->get();

Mevcut tüm “order by” yan tümcelerini kaldırmak ve sorguya tamamen yeni bir sıralama uygulamak için reOrdering yöntemini çağırırken bir sütun ve yön iletebilirsiniz.

$query = DB::table('kisiler')->orderBy('isim');
$usersOrderedByEmail = $query->reorder('email', 'desc')->get();

 

Shares:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir