`
like.eagle
  • 浏览: 253168 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ActiveRecord强大的find()方法实践

阅读更多

实践了ActiveRecord的find方法,要实现多张表的联合查询,方法如下:

 

class Product < ActiveRecord::Base
 
  def Product .find_by_ user( user _id)    #相当于self.find_by_user(user_id) ...类级别的函数

 

    Product .find(:all ,
                 :select => "products.name pname, users.name uname, products.position_id, 

                                    products.summary, positions.title ",
                 :from => "products, users, positions ",
                 :conditions => ["products. user _id = user s.id and products.position_id = positions.id and 

                                            user s.id = ?" , user _id],
                 :order       => "products.id DESC ")
  end  

 

end

 

当然还有更直接的方法,那就是ActiveRecord的find_by_sql() 方法。

此方法直接将SQL语句用字符串的形式传进去就行了,举两个例子:


orders = Order.find_by_sql("select * from orders");


orders = Order.find_by_sql("select * from orders where id = ?", order_id);

 

 

 

分享到:
评论

相关推荐

    C# Castle.ActiveRecord CS源码示例教程.zip

    在 Winform 应用中,你可以利用 Castle.ActiveRecord 提供的 CRUD(创建、读取、更新、删除)操作方法,轻松地与数据库进行交互。例如: ```csharp using (var session = ActiveRecordMediator&lt;User&gt;....

    Castle ActiveRecord快速入门指南、ActiveRecord帮助文档

    - ActiveRecord 提供了内置的事务管理,可以在方法中使用 `using (var tx = Session.Current.BeginTransaction())` 来开启事务,事务中的所有操作将在最后一起提交或回滚。 6. **事件和生命周期** - 支持 Before...

    ActiveRecord简单实例代码.zip

    通过学习和实践这些ActiveRecord的基本概念,开发者可以高效地进行数据库操作,同时减少与数据库的直接交互,提高代码的可读性和可维护性。在提供的压缩包"ActiveRecord简单实例代码"中,你可能会看到这些概念的具体...

    Castle ActiveRecord 最全的入门CHM帮助文档

    6. **查询与检索**:除了基本的 CRUD 操作,Castle ActiveRecord 提供了多种查询方式,如 FindAll()、FindByCriteria() 和 FindOne(),以及 Linq 支持。这使得根据各种条件查找和筛选数据变得简单。 7. **事务处理*...

    PetShop_Model_DAL.rar_CASTLE_Castle mod_activeRecord_castle d

    接下来,Castle ActiveRecord提供了强大的自动化功能,如自动建立数据库表、索引、外键等,以及自动生成CRUD(创建、读取、更新、删除)操作。只需简单地调用类的方法,即可完成对数据库的操作,无需编写复杂的SQL...

    ASP实现ActiveRecord数据查询更新 v1.0-ASP源码.zip

    4. **查询操作**:利用ActiveRecord模式,你可以通过类的方法执行SQL查询。例如,User类可以有一个Find方法,接受用户名作为参数,返回匹配的用户对象。 5. **更新操作**:同样,更新操作可以通过设置对象的属性并...

    activerecord-with-arel:我们在 http 上的谈话的示例应用程序

    ActiveRecord提供了丰富的查询方法,如`find`,`where`,`create`等,使得数据库操作变得简单直观。 然而,当我们需要进行复杂的SQL查询时,Arel就发挥了关键作用。Arel是一个独立于ActiveRecord的库,它允许我们...

    ruby on rails实践

    ActiveRecord提供了丰富的查询接口,如`.where`、`.find`、`.all`等,让你能方便地从数据库检索数据。 十、Asset Pipeline Rails的Asset Pipeline处理JavaScript、CSS和图像等静态资源,支持Sass、CoffeeScript等预...

    Castle AR学习文档

    例如,可以使用`Save()`方法保存新记录,`Update()`方法更新现有记录,`Find()`方法查询记录,以及`Delete()`方法删除记录。此外,还支持事务处理,确保数据的一致性。 在更高级的用法中,Castle AR支持关联映射,...

    Castle 例子

    Castle 是一个开源的.NET框架,它提供了一系列强大的工具和组件,包括动态代理、IOC(Inversion of Control)容器、AOP(Aspect Oriented Programming)支持以及ActiveRecord模式的实现。这个"Castle 例子"很可能是...

    元编程 Ruby

    Rails的ActiveRecord模型就是通过元编程来实现其魔法般的动态方法生成,例如,我们可以直接对模型使用find_by或where等方法,而这些方法在Ruby代码中是不存在的,它们是在运行时动态生成的。Rails的路由系统、视图...

    享受将SQL注入RubyonRails应用程序的乐趣吧!___下载.zip

    1. **参数化查询**:ActiveRecord的查询接口使用方法链,如`find_by`,`where`等,它们会自动处理SQL注入。你应该避免使用字符串拼接构建查询。 2. **白名单参数**:对用户输入进行验证,只允许特定格式的数据。 3...

    jfinal增删改查例子

    JFinal 提供了丰富的查询方法,如find(), findAll(), findBySql(), count()等。find()用于获取第一条数据,findAll()用于获取所有数据,findBySql()允许自定义SQL语句进行复杂查询,count()则用于计算符合条件的...

    YII2数据库查询实践

    本知识点着重介绍YII2框架下数据库查询的各种实践技巧和方法,旨在帮助开发者能够熟练运用YII2提供的数据库查询功能,进行高效的数据操作。 ### 数据库查询实践 YII2提供了多种数据库查询的方式,其中最基础的查询...

    jfinal 详解()

    4. **使用ActiveRecord操作数据库**:在Java类中使用`save()、update()、delete()、find()`等方法进行CRUD操作。 ### 五、JFinal其他核心特性 1. **拦截器(Interceptor)**:JFinal的拦截器允许在请求处理前后插入...

    ruby on rails 实例代码

    此外,Rails提供了强大的关联功能,如一对一(has_one)、一对多(has_many)、多对多(has_and_belongs_to_many)等,允许我们轻松处理复杂的数据关系。例如,一个用户可以有多个帖子(posts): ```ruby class ...

    Ruby on Rails 指南 v5.0.1 中文版

    - **查找或创建新对象**:说明如何使用`find_or_create_by`等方法高效地查找或创建对象。 - **使用SQL语句进行查找**:介绍如何直接执行SQL语句来查询数据。 - **检查对象是否存在**:展示如何使用`exists?`等方法...

    JFinal+mysql增删改查实例

    - Read(读取):通过query()或find()方法,可以从数据库中获取数据,对应SQL的SELECT语句。 - Update(更新):使用update()方法,可以修改数据库中已存在的记录,对应SQL的UPDATE语句。 - Delete(删除):利用...

    rubyonrails

    7. **ActiveRecord查询接口**:了解如何使用ActiveRecord进行数据查询,如`.find`, `.where`, `.all`等方法,是开发Rails应用的基础。 8. **Rails控制器**:控制器处理HTTP请求,并调用模型方法,返回视图。理解...

Global site tag (gtag.js) - Google Analytics