概述
使用ActiveRecord执行以下SQL的最佳方法是什么:
SELECT parent.*
FROM sections AS node, sections AS parent
WHERE node.left BETWEEN parent.left AND parent.right
ORDER BY parent.left DESC
LIMIT 1
我知道可以使用.limit(),. where()和.order(),但是你如何处理’from’?
或者将整个批次作为单个语句执行是否更好?
谢谢你的帮助.
解决方法:
在您的应用程序中使用SQL没有任何问题,只要您可以验证它是否正常工作并且不会让您暴露于注入攻击.由于此声明按原样执行,因此您在这方面没问题.
ActiveRecord :: Base.connection提供了一种执行任意查询并以各种格式检索结果的方法. select_all或select_rows可能就是你要找的东西.
AREL查询生成器并不总是像我们想的那样聪明,所以如果有疑问,请使用最简单的表达形式.在你的情况下,它似乎是SQL的一大块.
要使用AREL重新编写它,您必须使用join方法将其链接回自身.
标签:mysql,ruby-on-rails-3,activerecord
来源: https://codeday.me/bug/20190630/1339401.html
最后
以上就是体贴钢笔为你收集整理的mysql定义record类型_mysql – Rails:ActiveRecord – 自定义SQL的全部内容,希望文章能够帮你解决mysql定义record类型_mysql – Rails:ActiveRecord – 自定义SQL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复