Ano, jak bylo navrženo, můžete použít orderByRaw()
Takže váš dotaz by byl transformován jako:
$result = Product::where("ProductCode", "LIKE", '%200%')
->orderByRaw('CHARINDEX('200', ProductCode, 1) DESC, ProductCode ASC')
->get();
Zde se předpokládá, že název modelu je Product
pro tabulku products
.