ActiveRecord,其中包含记录的属性与原始记录的属性进行比较

时间:2017-12-13 17:26:32

标签: ruby-on-rails activerecord

如果我有像AModel,BModel和CModel这样的模型,我想做一个类似

的ActiveRecord查询
AModel.includes(:b_model).where.not('b_model.c_model_id = ?', AModel.c_model.id)

我遇到的唯一问题是最后一部分

AModel.c_model_id

试图引用当前的AModel记录。是否可以使用该查询返回AModel的c_model_id属性?

1 个答案:

答案 0 :(得分:1)

  

是否可以使用该查询返回AModel的c_model_id属性?

不,这是不可能的。这是循环引用数据库模型的气味,应该避免。重新评估您的数据库架构,或发布更具体的用例以通过更好的数据结构解决问题。