我有客户和客户has_many属性。我希望根据'名称'属性。
所以,大多数客户都有这样的财产:
property.name == 'name'
property.value == 'value'
此外,我需要确保客户不拥有其他具有不同名称和价值的财产。
我想找到没有特定属性的所有客户,并将该属性添加到他们。我该怎么做?
答案 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}