繁体   English   中英

如何从DataMapper :: Collection获取原始SQL?

[英]How do I get the raw SQL from a DataMapper::Collection?

我正在使用最新版本的postgresql,ruby和datamapper。

我创建一个查询,像这样:

collection = Entry.all(:id => 2..4, :text => /test/)

collection是一个DataMapper::Collection对象。 只需调用query = collection.query即可获得DataMapper::Query对象。 但是,如何以字符串形式获取查询的原始SQL?

我需要它,因为我必须自定义原始SQL(我需要SELECT DISTINCT而不是仅SELECT ),但是我不想完全自己编写SQL,因为我不确定是否可以编写安全的查询。

我也很乐意以另一种方式归档我的目标,我愿意接受全新的建议;)

这似乎不太容易实现,但这是一种不可靠的解决方案

collection = Entry.all(:id => 2..4, :text => /test/)

query = collection.query

DataMapper.repository.adapter.send(:select_statement,query)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM