`

typo代码的一个疑问,关于conditions中动态参数的查询条件

 
阅读更多
typo代码中trigger.rb有一段代码如下
def remove(pending_item, conditions = { })
      return if pending_item.new_record?
      conditions_string =
        conditions.keys.collect{ |k| "(#{k} = :#{k})"}.join(' AND ')
      with_scope(:find => { :conditions => [conditions_string, conditions]}) do
        delete_all(["pending_item_id = ? AND pending_item_type = ?",
                    pending_item.id, pending_item.class.to_s])
      end
    end


其中的
conditions_string =
        conditions.keys.collect{ |k| "(#{k} = :#{k})"}.join(' AND ')

生成了类似于(col1=:col1 and col2=:col2)的代码,但是总觉得这种写法可能不对,于是写了一个类似的试验了一下

find(:all,:conditions => [ 'id = :id ', {'id'=>3}])

果真报错
我知道可以用
find(:all,:conditions => [ 'id = ? ',3])
来解决,但是如果想传入不数量的条件还要改变函数参数,想寻找一种用Hash或者Array实现动态condition参数,不知道该如何实现

分享到:
评论
2 楼 tomll 2006-12-31  
alang 写道
find(:all,:conditions => [ 'id = :id ', {'id'=>3}]) 

这类似吗?


    conditions_string =  
            conditions.keys.collect{ |k| "(#{k} = :#{k})"}.join(' AND ')  


这句话生成的就是'id1 = :id1 AND id2 = :id2 '这种查询条件呀?
1 楼 alang 2006-12-31  
find(:all,:conditions => [ 'id = :id ', {'id'=>3}]) 

这类似吗?

相关推荐

    typo3中文 教程

    本教程旨在帮助初学者了解如何在Typo3环境中创建一个基本的扩展件。通过本教程的学习,你将能够掌握Typo3扩展开发的基础知识,并为后续更高级的功能开发打下坚实的基础。 #### 二、准备工作 在开始创建扩展件之前...

    typo3开源代码,可以直接用

    这份开源代码是 Typo3 的一个重要版本——t3v6,下面我们将深入探讨其核心特性、架构以及如何利用这些资源进行开发。 **1. Typo3 的核心特性** - **模块化设计**:Typo3 的模块化设计使得系统可以根据需求添加或...

    TYPO3简体中文语言包

    4. **llxmltranslate**:这是一个工具,用于处理LLL(Language Look-up XML)翻译文件,是TYPO3中处理多语言内容的关键部分。使用中文语言包,用户可以更方便地管理和更新翻译内容。 5. **taskcenter**:任务中心...

    中文网页重设与排版typo.css.zip

    目前的设计是这样的,尽量保持完整的 reset,比如让 ul/ol 无样式并且无多余的 padding/margin, 这是必须的,因为一个网可能需要很多自定义的的内容,在实践中我们并不希望像 ul/ol 有样式,这样我们得用优先级去...

    TYPO3中的多语系网站.doc

    例如,Schæffergården的丹麦语和英语网站就是这样实现的,它们都从同一个TYPO3数据库获取数据,但表现为两个独立的网站树。在这种配置下,建议两个网站共享一个模板以保持设计一致性。页面的特定设置可以通过覆盖...

    TYPO3 6.0 中文版(带模板,安装即可用)

    总结,TYPO3 6.0中文版是一个功能丰富的CMS,它的易用性和灵活性使得它在中文用户群体中有很高的受欢迎度。尽管现在已经有更新的版本,但对于初学者或希望快速搭建中文网站的用户来说,6.0版本仍是一个值得考虑的...

    Typo:Typo编程语言

    "Typo:Typo编程语言"是一个专注于提供高效、简洁且富有表达力的编程环境的语言。作为一门现代的编程语言,Typo旨在提高开发者的生产力,同时降低代码维护的复杂性。它可能受到了C++的影响,因为“typolang”标签...

    typo3插件

    **TYPO3是一个强大的开源内容管理系统(CMS),它以其高度可扩展性和灵活性著称。在TYPO3的世界里,插件是增强系统功能的关键组件。本文将详细介绍TYPO3的一些常用插件及其功能,帮助你更好地理解和利用这些工具提升...

    jarvisoj_typo

    jarvisoj_typo,arm架构下的pwn题。

    TYPO3 中文版 v7.6 LTS

    TYPO3是一个企业级的开源内容管理系统,可以用来建设和管理各种类型的网站,从小站点、非盈利组织到针对大型企业的多语言企业级解决方案。极益平台1.0版本将基于TYPO3 7.3.1。系统包括前台、业务后台、总后台三个...

    Typo Negative

    3. **typonegative1.gif**:这是一个GIF图像文件,很可能展示了"Typo Negative"字体在实际应用中的例子,可能是动态展示,用于呈现字体的动态效果或者不同状态。 4. **typonegative.TTF**:这是一个TrueType字体...

    [CMS程序]Typo3 dummy 4.110 (集成后台简体中文语言包)(PHP4+)_typo3_src4.zip

    解压后,你将看到一个典型的CMS源代码结构,包括核心框架文件、模块、模板、配置、语言文件等。以下是一些可能包含的关键目录: - `typo3`: 包含核心系统文件,如控制器、模型、视图和配置。 - `typo3conf`: 存储...

    TYPO3 中文版 v7.3.1.zip

    TYPO3是一个企业级的开源内容管理系统,可以用来建设和管理各种类型的网站,从小站点、非盈利组织到针对大型企业的多语言企业级解决方案。 极益平台1.0版本将基于TYPO3 7.3.1。系统包括前台、业务后台、总后台三个...

    此 TYPO3 扩展提供 ViewHelpers 和配置,以根据 TYPO3 的图像裁剪工具呈现有效的响应式图像

    TYPO3 是一个流行的开源内容管理系统(CMS),它提供了丰富的功能来帮助开发者创建复杂的网站。在这个场景中,我们讨论的是一款名为 "sms-responsive-images" 的 TYPO3 扩展,它专注于利用 TYPO3 的图像裁剪工具来...

    TYPO3 Extension Development

    2. **TemplaVoila**:此扩展提供了一个强大的模板编辑器,允许非技术人员轻松创建复杂的页面布局。分析其前端编辑功能及后端逻辑的设计思路。 3. **Comments**:该扩展实现了评论系统,支持用户对内容发表评论。研究...

    Typo3 内容管理系统 v6.2.2.zip

    TYPO3是一个企业级的开源内容管理系统,可以用来建设和管理各种类型的网站,从小站点、非盈利组织到针对大型企业的多语言企业级解决方案。   开源 - 没有许可费 企业级 - 专业系统 安全第一 - 最安全的开源CMS ...

    Typo3 Enterprise Content Management

    2. **扩展性**:Typo3 提供了一个强大的框架,允许开发人员轻松创建自定义模块和插件。这意味着可以根据特定需求定制系统,使其适应各种不同的应用场景。 3. **数字资产管理**:书中提到 René Fritz 开发了数字...

    [CMS程序]Typo3 4.2.5_typo3_src-4.2.5.zip

    Typo3 4.2.5是一个功能强大的CMS平台,尤其适合需要复杂功能和多语言支持的企业级项目。虽然现在有更新的版本,但理解4.2.5的基本特性和工作原理对理解Typo3的发展历程和核心概念仍然很有价值。通过学习和掌握这个...

Global site tag (gtag.js) - Google Analytics