簡體   English   中英

Ruby on Rails:通過關聯進行搜索

[英]ruby on rails: search through associations

我幾乎沒有理解問題:

我有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">

我想念什么?

您將想要聯接表來執行此查詢。 查看文件

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM