Union Ve Order By Kullanımı [Laravel] [SQL]
-
Union ile 2 query'i birleştirdiğimizde query içlerindeki order'ın geçerliliği kalmıyoruş. [https://stackoverflow.com/a/8685199/1330411]
Raw query yazmadığım için çözümde önerilen şeyi yapmam çok zor. Ayrıca birde hayvan gibi filtreleme sınıfı olduğu için bu kadar kurcuklamak istemiyorum açıkçası.
Yapmak istediğim aslında şu şekilde:
Ürün tablomda fiyat bilgisi olan ve olmayan ürünler var. Benim istediğim ürün listeleme sayfasındaki kriterlere göre listeleme yapılırken, ürün fiyat bilgisi olanları her halükarda ürün fiyat bilgisi olmayanların önünde çıkmasını sağlamak. Şu anda union ile bu işi temiz bir şekilde yapabiliyorum, ancak ne kadar sıralama işin içine giriyor o zaman işler sıçıyor.
Bu konuda bir çözüm önerebilecek varmıdır acaba? Yada laravel eloquent ile yukarıda verilen çözümdeki gibi bir hack'i yapmak nasıl olur?
tŞk.
-
eloquent tam hakim değilim fakat
custom collection işini görürmü bir incele istersen
-----------------------------------------------------
yada ayrı ayrı çekip merge etsen
-
wert bunu yazdı
eloquent tam hakim değilim fakat
custom collection işini görürmü bir incele istersen
-----------------------------------------------------
yada ayrı ayrı çekip merge etsen
Teşekkürler yanıt için hocam. İlk link düz collection için o yüzden bana gelmiyor o iş.
Ayrı ayrı çekip merge etme konusunda sıkıntı sayfalama olması. Sayfalama ile bunu nasıl yapabilirim tam bilemiyorum. :/
-
Örnek sorgunuz, örnek veriler ve elde etmeye çalıştığınız verilere örnek verirmişsiniz.
-
Select * from (
(xxxxx)
UNION ALL
(yyyyy)) tmp
Order By TMP.CreatedAt DESC
şeklinde calismasi lazim 2 sorguyu birleştirip sonucu orderlaman lazim :) -
https://stackoverflow.com/questions/41756404/laravel-eloquent-union-query
aşağıda bir yerlerde union yapmadan önce orderBy yapmayı dene demiş :)
--
sorgunu oluşturduktan sonra, yani veri alındıktan sonra order yapabiliyor olman lazım.https://laravel.com/docs/8.x/collections kontrol eder misin