Mysql
 sql >> Database >  >> RDS >> Mysql

Ordina per migliore corrispondenza in eloquente

Sì, come suggerito, puoi utilizzare orderByRaw() Quindi la tua query verrebbe trasformata come:

$result = Product::where("ProductCode", "LIKE", '%200%')
                ->orderByRaw('CHARINDEX('200', ProductCode, 1) DESC, ProductCode ASC')
                ->get();

Qui, presumibilmente, il nome del modello è Product per la tabella products .