Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将MySQL命令转换为ActiveRecord_Ruby On Rails_Activerecord - Fatal编程技术网

Ruby on rails 将MySQL命令转换为ActiveRecord

Ruby on rails 将MySQL命令转换为ActiveRecord,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,命令是 SELECT * FROM txactions WHERE acccount_id = 1565 AND recon_status = 2 AND date_posted BETWEEN <var date1> and <var date2> ORDER BY date_poste LIMIT 1 选择* 来自txactions 其中acccount_id=1565 和侦察状态=2 以及在和之间发布的日期 按日期订购 限制1 以下是AR查询: Txact

命令是

SELECT *
FROM txactions
WHERE acccount_id = 1565
  AND recon_status = 2
  AND date_posted BETWEEN <var date1> and <var date2>
ORDER BY date_poste
LIMIT 1
选择*
来自txactions
其中acccount_id=1565
和侦察状态=2
以及在和之间发布的日期
按日期订购
限制1
以下是AR查询:

Txaction.where(acccount_id: 1565, recon_status: 2, date_posted: date1..date2)
        .order(:date_posted)
        .first

模型?联想?使用普通SQL有什么问题?这个问题需要一些认真的改进,才能有一个合适的答案出现。使用命名约定。我不能使用普通的SQLIt,这取决于你的关联和作用域是如何定义的,这些可以使这个查询更短。ActiveRecord将大部分查询细节抽象为可重用的部分。如果你不这样做,你会得到和SQL本身一样难看的查询。我投票以离题的方式结束这个问题,因为这是一个非常具体的问题,将来很可能对任何其他用户都没有帮助。
Txaction.where("account_id = 1565 AND recon_status = 2 AND date_posted BETWEEN ? and ?", @date1, @date2).order("date_posted").first