http://code.google.com/p/rquerypad/
目前支持rails 2.0, rails 1.2(部分2.0 方式的查询))(谢谢Quake的测试及建议)
Simplify query options with association automation and improve inner join for activerecord of rails
字段名包含关联信息,不需额外再写include或者joins
原来activerecord仅支持inner join在最后,现在没有这个限制
不想用svn,直接下载可以到
https://rubyforge.org/projects/rquerypad/
Feature
=======
1. single name string decribe associations
2. support to mix inner join and outer join with any order
3. auto remove duplicated joins from other association in different depth
4. support :conditions,
rder, :group
5. auto merge to original :include, :joins
Install
=======
ruby script/plugin install http://rquerypad.googlecode.com/svn/trunk/rquerypad
Example
=======
suppose the asscociations of User <-> Thread <-> Reply is 1:N:N
@users = User.find(:all, :group => ["threads.created_at", "name"])
generate:
[:all, {:group=>"threads.created_at, users.name", :include=>[:threads]}]
@users = User.find(:all, :conditions => ["threads_.replies.title = ?",
"rquerypad"])
generate:
[:all, {:inner_joins=>["threads"], :conditions=>["replies.title = ?", "rquerypad"], :include=>[{:threads=>:replies}]}]
#note: the :inner_joints is processed by rquerypad before sending sql to database
@users = User.find(:all, :conditions => ["threads.replies.title = ? and threads.id = ?", "rquerypad", 1])
generate:
[:all, {:conditions=>["replies.title = ? and threads.id = ?", "rquerypad", 1], :include=>[{:threads=>:replies}]}]
#note: single "threads" was removed from includes
Setup
=======
#to set debug model, in rails initialized script
$RQUERYPAD_DEBUG = true
#to support rails 1.2.6, in rails initialized script, such as environment.rb
#default support rails 2.0
$RQUERYPAD_RAILS = "1.2"
Test
=======
Note: current migrate script works only in rails 2.0
1.Prepare
the test depends on sqlite3 database, the following code should be add into your database.yml and place rquerypad.rb(copy from test.rb) in config/environment
rquerypad:
adapter: sqlite3
database: vendor/plugins/rquerypad/test/db.rquerypad
timeout: 5000
2.database migrate
execute the following script
rake migrate
3.start test
execute the following script
rake
分享到:
相关推荐
SVN关联vs插件SVN关联vs插件SVN关联vs插件SVN关联vs插件SVN关联vs插件SVN关联vs插件SVN关联vs插件
Mybatis 是一个流行的Java持久层框架,它简化了数据库操作,允许开发者将SQL语句直接写在XML映射文件中,提供了动态SQL的功能。在Eclipse这样的集成开发环境中,为了提高开发效率,我们可以配置Mybatis的插件,使得...
帆软报表查询性能SQL分析插件是一款专门针对帆软报表系统的增强工具,旨在提升报表查询效率和性能优化。此插件能够深入解析SQL查询过程,帮助用户识别并解决潜在的性能瓶颈,确保报表的快速准确生成。以下是关于这款...
总之,"快递100查询插件PHP通用版"提供了一种便捷的方式,使开发者能够轻松地在其PHP网站上添加快递查询功能,提高用户对物流信息的追踪能力。通过理解PHP编程、快递100 API以及如何在Web环境中集成这些元素,你可以...
问题在于,当你在使用MybatisPlus进行分页查询时,如果未正确配置PaginationInterceptor,分页参数将无法生效,你会观察到所有的数据都被查询出来。要解决这个问题,你需要在你的项目配置中添加...
总的来说,这款图形化版的重算 sign 和参数加解密插件是 Burp Suite 的强大扩展,它提高了渗透测试的效率,简化了加密和签名处理的复杂度,尤其在处理加密请求和签名验证时,提供了极大的便利。无论是在日常的安全...
"Registration_simpleregistration.xml" 这个文件是插件的核心配置文件,通常以 XML 格式存储插件的元数据、安装信息以及具体的设置选项。当将此插件上传到 OpenCart 系统后,系统会解析这个 XML 文件来识别和安装...
标题“插件程序批量添加参数和关系式”指出,这个插件的主要功能是自动地在模型中添加参数和关系式。这涉及到ProE的编程接口(API),通常使用的是Parametric Feature Script(PFS)或更现代的Creo API。 参数在...
查询 vlx、fas、arx、lsp、dbx、dvb、crx 格式插件的命令
在IT行业中,Bootstrap是一款非常流行...总之,Twitter Bootstrap模糊查询插件是构建现代Web应用时增强搜索功能的有效工具,通过简单的API和丰富的定制选项,能够帮助开发者快速实现智能搜索功能,提升用户的交互体验。
在处理多表join查询时,传统的关系型数据库如MySQL等通常能很好地应对,但Solr作为一个非关系型的搜索引擎,其原生功能并不支持复杂的数据关联操作。本文将围绕"基于Solr的多表join查询加速方法"这一主题,深入探讨...
在实际开发中,PageHelper的使用大大简化了分页查询的实现,避免了手动处理分页逻辑的繁琐,提高了代码的可读性和维护性。通过合理配置和使用PageHelper,可以有效优化SSM框架下的数据库查询性能,提升整体应用的...
**SuperMap iDesktop 扩展插件开发:查询重叠点线面** SuperMap iDesktop 是一款强大的桌面GIS(地理信息系统)软件,它提供了一系列工具和技术用于地理数据的创建、编辑、管理和分析。本插件专注于一个特定的地理...
**jQuery 模糊查询插件详解** 在网页开发中,为用户提供快速、高效的搜索功能是至关重要的。jQuery 模糊查询插件就是一种强大的工具,它可以帮助开发者实现动态、实时的搜索建议,提升用户体验。本篇文章将深入探讨...
总的来说,使用Excel宏进行水和水蒸气参数查询是一个高效且灵活的方法,能够节省大量手动查找和计算的时间。通过理解VBA和宏的工作原理,用户可以进一步定制和优化查询功能,以满足特定的工程需求。
同时,它提供了联合查询、模糊查询和条件查询的能力,增强了数据检索的灵活性和实用性。 【知识点详解】: 1. **jsp分页**:在Web开发中,当数据量较大时,分页是必不可少的功能,可以提高用户体验并减轻服务器...
"雨滴网易云音乐插件(Rainmeter网易云音乐插件)"是一个为Windows操作系统设计的桌面美化工具,它能够将网易云音乐嵌入到用户的桌面背景中,提供一种独特的音乐播放体验。这款插件是基于Rainmeter软件开发的,...