使用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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复