【问题标题】:ruby on rails: search through associationsruby on rails:搜索关联
【发布时间】:2016-10-27 17:52:27
【问题描述】:

我有点理解问题:

我有ChannelLecturer,其中Channel :has_and_belongs_to_many :lecturers

我想获取 Lecturer.id 为 lect.id 的所有频道。

2.3.0 :235 >   Channel.where(:lecturers => { :id => 2 })
  Channel Load (0.1ms)  SELECT "channels".* FROM "channels"  WHERE "lecturers"."id" = 2
SQLite3::SQLException: no such column: lecturers.id: SELECT "channels".* FROM "channels"  WHERE "lecturers"."id" = 2
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: lecturers.id: SELECT "channels".* FROM "channels"  WHERE "lecturers"."id" = 2

这行不通,我觉得我不明白核心概念,因为我可以做到

2.3.0 :231 > Channel.first.lecturer  
=> #<Lecturer id: 2, name: "Albert Einstein">

我错过了什么?

【问题讨论】:

  • “这不起作用” - 如何会发生什么

标签: ruby-on-rails search associations where


【解决方案1】:

您需要连接表来执行此查询。见the docs

Channel.joins(:lecturer).where(lecturers: {id: lect.id})

【讨论】:

  • 谢谢,我会调查的!
猜你喜欢
  • 1970-01-01
  • 2015-06-29
  • 1970-01-01
  • 2012-07-21
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多