Mysql
 sql >> Base de données >  >> RDS >> Mysql

Trier par meilleur match dans éloquent

Oui, comme suggéré, vous pouvez utiliser orderByRaw() Ainsi, votre requête serait transformée comme :

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

Ici, c'est supposé, le nom du modèle est Product pour la table products .