Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Ordenar por melhor correspondência em eloquente


Sim, conforme sugerido, você pode usar orderByRaw() Portanto, sua consulta seria transformada como:
$result = Product::where("ProductCode", "LIKE", '%200%')
                ->orderByRaw('CHARINDEX('200', ProductCode, 1) DESC, ProductCode ASC')
                ->get();

Aqui, supõe-se, o nome do modelo é Product para a tabela products .