Nie, to nie jest poprawne. Gdyby używał cudzysłowów, to działałoby dobrze, jednak znaki wsteczne nie są cudzysłowy. Problem polega na tym, że CakePHP cytuje numer tak, jakby był to nazwa kolumny . Spróbuj zamiast tego zacytować wartość, używając pojedynczych cudzysłowów:
"RAND('%d')"
Powinno to spowodować utworzenie następującego kodu SQL:
ORDER BY RAND('1235123412341')
Daje to taki sam wynik, jak w przypadku pominięcia cudzysłowów.