У меня есть файл рейка, и у меня есть этот код на нем. ,Convert Inner Join to Left Присоединиться к rails
if circle[:conference2_total_channels].present?
conf = Confbridge.find(:all, :conditions => ["confbridges.cid = ?",circle.circle_number],
:joins => [:confbridge_participants],
:select => 'confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant')
end
возвращение кода
SELECT confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant FROM `confbridges` **INNER JOIN** `confbridge_participants` ON `confbridge_participants`.`confbridge_id` = `confbridges`.`id` WHERE (confbridges.cid = '0090000092')
это INNER JOIN
как я могу изменить его LEFT JOIN
как это
SELECT confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant FROM `confbridges` **LEFT JOIN** `confbridge_participants` ON `confbridge_participants`.`confbridge_id` = `confbridges`.`id` WHERE (confbridges.cid = '0090000092')
СПАСИБО :)
Какую версию рельсов вы используете? Этот синтаксис устарел где-то в третьем – Vasfed
Похоже, вы используете очень старую версию Rails. Не так ли? – Pavan
Возможный дубликат [Как сделать левое соединение в поисках рельсов] (http://stackoverflow.com/questions/10722106/how-do-i-do-a-left-join-in-a-rails- найти) –