如何在没有关联的has_many记录的情况下查找所有记录?

时间:2014-06-13 18:56:50

标签: ruby-on-rails activerecord

我有客户和客户has_many属性。我希望根据'名称'属性。

所以,大多数客户都有这样的财产:

property.name == 'name'
property.value == 'value'

此外,我需要确保客户拥有其他具有不同名称和价值的财产。

我想找到没有特定属性的所有客户,并将该属性添加到他们。我该怎么做?

1 个答案:

答案 0 :(得分:2)

以下是如何找到没有特定财产的客户:

# assuming property_name is the name of that property that should not exist
customers_without_property = Customer.joins(:properties).where('properties.name != ?', property_name)

您可以在之后为找到的记录创建该属性:

customers_without_property.each{|cust| Property.create(customer_id: cust.id, name: property_name, value: property_value}