根据具有ActiveRecord中的连接的孙属性选择对象(Select objects based on grandchild attribute with joins in ActiveRecord

编程入门 行业动态 更新时间:2024-10-17 21:19:23
根据具有ActiveRecord中的连接的孙属性选择对象(Select objects based on grandchild attribute with joins in ActiveRecord)

假设我有以下型号:

class Foo < ActiveRecord::Base has_many :bars has_many :bazs, :through => :bars class Bar < ActiveRecord::Base belongs_to :foo has_many :bazs class Baz < ActiveRecord::Base belongs_to :bar

假设Baz具有“名称”属性。 选择所有Foo的最佳方式是什么,Baz的名字是“x”?

我曾经以为我可以做一些像Foo.join(:baz).where('bazs.name' => 'x')但这似乎不起作用。

Suppose I have the following Models:

class Foo < ActiveRecord::Base has_many :bars has_many :bazs, :through => :bars class Bar < ActiveRecord::Base belongs_to :foo has_many :bazs class Baz < ActiveRecord::Base belongs_to :bar

Suppose Baz has a "name" attribute. What is the best way for me to select all Foo where Baz has the name "x"?

I had thought I could do something like Foo.join(:baz).where('bazs.name' => 'x') but this doesn't seem to work.

最满意答案

这应该是有效的!

Foo.joins(:bazs).where(bazs: {name: 'x'})

This should be work!

Foo.joins(:bazs).where(bazs: {name: 'x'})

更多推荐

本文发布于:2023-08-01 00:15:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1351353.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:属性   对象   Select   ActiveRecord   objects

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!