Find Through Association 使用级联查询

class Project < ActiveRecord::Base
    has_many :tasks
end

这段代码的意思是有一个Project类,通过has_many方法定义他有多个tasks

class Task < ActiveRecord::Base
     belongs_to :project
end

这段代码的意思是有一个Task类,通过belongs_to定义它属于一个Project

class ProjectsController < ApplicationController
      def show
             @project = Project.find(params[:id])
             @tasks = Task.find(:all, :conditions => [‘project_id = ? AND complete = ?‘, @project.id, false])
end
end

通过ProjectController中的show方法,返回一个项目或者其包含的未完成的项目。可以将代码进一步优化如下为

@[email protected](:all, :conditions=>[complete=?‘,false])

还可以进一步优化成

@[email protected]_all_by_complete(false)

 
时间: 2024-08-10 15:11:45

Find Through Association 使用级联查询的相关文章

MyBatis 使用接口增删改查和两表一对一级联查询

导包 总配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties re

MyBatis 级联查询一对一与一对多

mybatis是通过映射sql语句把关系模型(数据库中的表)与领域模型(java中的实体类)关联起的  简单分析级联查询:       关系模型中:表与表只有主外键关联       领域模型中:实体类与实体类这间关联,只有一和多的关系.                            一是指别一个实体类以对象属性存在当前实体类中.                            多是指别一个实体类以集合对象属性存在当前实体类中 下面我以例子的形式给大家说明:数据库脚本如下:drop

oracle使用connect by进行级联查询 树型菜单

Oracle使用connect by进行级联查询 树型菜单(转) connect by可以用于级联查询,常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点. 来看一个示例,现假设我们拥有一个菜单表t_menu,其中只有三个字段:id.name和parent_id.它们是具有父子关系的,最顶级的菜单对应的parent_id为0.现假设我们拥有如下记录: id name parent_id 1 菜单01 0 2 菜单02 0 3 菜单03 0 4 菜单0101 1 5 菜单0102

【SSH项目实战05】完成数据库的级联查询和分页

上一节我们完成了EasyUI菜单的实现.这一节我们主要来写一下CategoryServiceImpl实现类,完成数据库的级联查询.一般项目从后往前做,先做service(我们没有抽取Dao,最后再抽取),做完了再做上面层. 在写之前,先看一下数据库中的表的情况: drop database if exists shop; /*创建数据库,并设置编码*/ create database shop default character set utf8; use shop; /*删除管理员表*/ dr

Dynamics CRM 2015/2016/365 Web API:级联查询

级联查询,即为在一次查询请求中吧父子记录统统查询出来的行为.使用Web API进行这样的查询非常的方便,主需要在OData Query URL中加入$expand关键字即可,不管在轻客户端或重客户端,调用都非常的方便. 我们来看一个使用级联查询的Query URL实例: GET https://crmhomedev06.api.crm6.dynamics.com/api/data/v8.2/accounts(79309b7b-8bac-e611-80f9-1458d05a2ab0)?$expan

前端页面——揭开级联查询的面纱

最近,小编一直在做高校平台的的项目,致力于让全国乃至全球的大学都能够使用,我负责的是学生选课的模块,从中学到了很多,自身也得到了历练.今天我就跟大家分享一下自己的项目经验. 1什么是级联查询 也许有人还不知道级联查询是什么,那么我们来解释一下.比如说我们在淘宝或者京东上要添加一个自己的收货地址,那么当我们选择省份的时候,它会自动将本省的城市列出来,当我们选择好市以后,它又会把该市所包含的区都列出来,这个效果就是级联查询. 2如何实现 我们知道了什么是级联查询,那么怎么才能实现这个效果呢? 不要着

【java】itoo项目实战之大数据查询之使用 new map 优化hibernate之级联查询

在我的上一篇博客<[java]itoo项目实战之hibernate 懒加载优化性能>中,我曾提到过学生数据有2万条,查询数据十分的慢,这是让人很受不了的事情,看着页面进度条一直转着圈圈,那种着急的感觉真的没法形容.最开始考虑着使用lazy 来优化,因为前台框架的原因,lazy 优化并没有起到什么左右,后来就想着有select new map 优化.我先来画画关于查询学生的级联树 这个树的意思就是查询学生的时候它的深度是4级. 在没有优化之前,使用的是hibernate的hql 语句:From

Jquery+Ajax下拉框级联查询

Jquery代码 <script type="text/javascript">          $(function(){ //提交事件           $("#ImageButton1").click(function(){ //省Id        var provinceId=$("#selProvince").val(); //市Id        var cityId=$("#selCity").

打造android ORM框架opendroid(六)——级联查询

在上一篇博客<打造android ORM框架opendroid(五)--数据更新的实现>  我们介绍了opendroid数据更新的流程,也就在上次,我们OpenDroid类中的所有操作都介绍完了, 那查询操作呢?不是在OpenDroid中?查询操作是在OpenDroid中,不过是以内部类的形式呈现的. 还是来看看如果使用opendroid查询数据吧. OpenDroid.query.find(Student.class) OpenDroid.query.columns("stuNam