我想知道是否有做這樣的
SELECT * FROM
mydb.afiliados AS a
LEFT OUTER JOIN
afiliacionvehiculo AS av ON av.idAfiliado = A.idAfiliado
WHERE a.idAfiliado = 3 AND CURRENT_DATE BETWEEN av.fechaInicio AND av.fechaFinal;
我想這
查詢的方式(除了原始的SQL)date=Date.new
@afiliados=Afiliado.joins(:persona, :afiliacionvehiculos).where(afiliacionvehiculos: {date :fechaInicio..:fechaFinal })
但這就是我得到的。
SyntaxError in AfiliadoController#index
/Users/cristiantorres/Documents/pruebaRailsTransporte/app/controllers/afiliado_controller.rb:4:
syntax error, unexpected ':', expecting => ...re(afiliacionvehiculos: {date :fechaInicio..:fechaFinal }) ...^
/Users/cristiantorres/Documents/pruebaRailsTransporte/app/controllers/afiliado_controller.rb:4:
syntax error, unexpected '}', expecting keyword_end ...ate :fechaInicio..:fechaFinal }) ...^
我知道,通過一個原始的SQL字符串應該工作,但如果有人知道另一種方式我會很感激
謝謝你花你的時間在我的問題,真正有用的答案 –
高興的是,它幫助你。不要忘記接受答案。要看看它是如何工作的:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –
最後,我用這個和完美地工作,是不是你給我的確切答案,但你的回答給我帶來了所需的查詢 @ afiliados = Afiliado.joins( 'LEFT OUTER JOIN角色ON personas.idPersonas = afiliados.Personas_idPersonas' \ \t \t '左外afiliacionvehiculo加入上afiliacionvehiculo.idAfiliado = afiliados.idAfiliado' \ \t \t「和BETWEEN afiliacionvehiculo.fechaInicio和afiliacionvehiculo.fechaFinal CURRENT_DATE」)。不同的() –