zoukankan      html  css  js  c++  java
  • 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方法,返回一个项目或者其包含的未完成的项目。可以将代码进一步优化如下为

    @tasks=@project.tasks.find(:all, :conditions=>[complete=?',false])

    还可以进一步优化成

    @tasks=@project.tasks.find_all_by_complete(false)

     
  • 相关阅读:
    入门系列4
    入门系列3
    入门系列2
    入门系列1
    sql进阶-筛选库表中数据为空的表
    sql进阶-删除所有的视图
    sql序列(2) sql语句功能表
    sql序列(5)事务
    sql序列(4)存储过程
    KVM虚拟化介绍
  • 原文地址:https://www.cnblogs.com/JackyKun/p/4870581.html
Copyright © 2011-2022 走看看