sql >> Base de Datos >  >> RDS >> Mysql

Ordenar por mejor coincidencia en eloquent

Sí, como se sugiere, puede usar orderByRaw() Entonces su consulta se transformaría como:

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

Aquí, se suponía, el nombre del modelo es Product para tabla products .