當我撥打以下:的ActiveRecord加入 「DESC」 隨機到ORDER BY
organization = Organization.first
organization.members.order("SUBSTRING_INDEX(SUBSTRING_INDEX(members.name, ' ', 3), ' ', -1)").last
使我有以下錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'DESC, ' ' DESC, 3) DESC, ' ' DESC, -1) DESC LIMIT 1' at line 1:
SELECT `members`.* FROM `members` WHERE `members`.`organization_id` = 2
ORDER BY SUBSTRING_INDEX(SUBSTRING_INDEX(members.name DESC, ' ' DESC, 3) DESC, ' ' DESC, -1) DESC LIMIT 1
問題是,在此聲明:
SUBSTRING_INDEX(SUBSTRING_INDEX(members.name DESC, ' ' DESC, 3) DESC, ' ' DESC, -1) DESC LIMIT 1
它將「DESC」隨機添加到ORDER BY
聲明中。這是一個AR問題還是我做錯了什麼?
注意:這隻發生在我撥打last
時。我正在使用ActiveRecord 4.1.1
。
它不會隨機添加DESC。它每次你添加.last,它是正確的? – infused
我會稱之爲「隨機」,因爲它不像預期的那樣。 –
我會稱之爲「意外」。 –