Rails 3 ActiveRecord: Найдите модель, найдя ее ассоциацию

class OrderItem belongs_to Item and belongs_to Order

class Item has_many OrderItems and belongs_to ItemType

class ItemType has_many Items

class Order has_many OrderItems

Я хотел бы в Order найти все элементы OrderItems, элементы которых имеют тип ItemType

def get_by_item_type(id)
  order_items.where(:item => {:item_type_id => 3})

Очевидно, я могу сделать это, найдя все элементы OrderItem, цикл, тестирование и создание моей собственной коллекции. Нет проблем, но интересно, есть ли другой способ?

Спасибо s ассоциация класс OrderItem принадлежит_to Item и принадлежит_to классу Order Item has_many OrderItems и принадлежит_to ItemType класс ItemType has_many Items class Order has_many OrderItems Я хотел бы, в пределах ...

class OrderItem belongs_to Item and belongs_to Order

class Item has_many OrderItems and belongs_to ItemType

class ItemType has_many Items

class Order has_many OrderItems

Я хотел бы, в пределах Order, найти все OrderItems чьи Items имеют тип ItemType

def get_by_item_type(id)
  order_items.where(:item => {:item_type_id => 3})

Очевидно, я могу сделать это, найдя все OrderItems, зациклившись, протестировав и построив свою собственную коллекцию. Нет проблем, но интересно, есть ли другой способ?

Спасибо s ассоциация класс OrderItem принадлежит_to Item и принадлежит_to классу Order Item has_many OrderItems и принадлежит_to ItemType класс ItemType has_many Items class Order has_many OrderItems Я хотел бы, в пределах ...

class OrderItem belongs_to Item and belongs_to Order

class Item has_many OrderItems and belongs_to ItemType

class ItemType has_many Items

class Order has_many OrderItems

Я хотел бы, в пределах Order, найти все OrderItems чьи Items имеют тип ItemType

def get_by_item_type(id)
  order_items.where(:item => {:item_type_id => 3})

Очевидно, я могу сделать это, найдя все OrderItems, выполнив цикл, протестировав и построив свою собственную коллекцию. Нет проблем, но интересно, есть ли другой способ?

Спасибо / j

6
задан J. Martin 3 May 2011 в 12:11
поделиться