Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Rails在children方法上的作用域_Sql_Ruby On Rails - Fatal编程技术网

Sql Rails在children方法上的作用域

Sql Rails在children方法上的作用域,sql,ruby-on-rails,Sql,Ruby On Rails,我想谈谈儿童方法 Parent.rb Child.rb 现在我想找到所有有贷款的父母,其中mymethod和:valid属性==true 大概是 Item.where(loans.where(valid: true, mymethod: true), true) 我想你所需要的就是这个: Item.joins(:children).where children: { valid: true, mymethod: true } 我想你所需要的就是这个: Item.joins(:children

我想谈谈儿童方法

Parent.rb Child.rb 现在我想找到所有有贷款的父母,其中
mymethod
和:valid属性==true 大概是

Item.where(loans.where(valid: true, mymethod: true), true)

我想你所需要的就是这个:

Item.joins(:children).where children: { valid: true, mymethod: true }

我想你所需要的就是这个:

Item.joins(:children).where children: { valid: true, mymethod: true }


我的方法不是活动记录属性正确的方法?可以通过任何方式从数据库计算此方法吗?如果不是,我们需要获取所有与其他条件匹配的记录,然后从数组中筛选它们。恐怕不是,它是一种检查某个日期是否已过且该日期与孩子的属性无关的方法?还解释了孩子与家长以及项目与贷款之间的关系。我的方法是一种非活动记录属性正确的方法?该方法可以通过任何方式从数据库中计算出来吗?如果不是,我们需要获取所有与其他条件匹配的记录,然后从数组中筛选它们。恐怕不是,这是一种检查某个日期是否已过且该日期与孩子的属性无关的方法?还要解释孩子与家长以及物品与贷款之间的关系。.问题是
mymethod
不是一个要查询的属性,或者至少我从评论中了解到了这一点,如穆罕默德所说,这将给你一个“unknown column mymethod”错误在这种情况下,您可以使用before_save回调方法对DB这个字段执行持久化。我也考虑过这一点,但mymethod会检查日期是否已过。所以今天可能是真的,但明天可能是假的,而没有保存。因此回调无法解决此问题。您可以使用
where(“存储日期
问题在于
mymethod
不是查询的属性,或者至少我从评论中了解到了这一点,如Mohammed所说,这将为您提供一个“未知列mymethod”“错误在这种情况下,您可以使用before_save回调方法对DB这个字段执行持久化。我也考虑过这个问题,但mymethod会检查是否已过日期。所以今天它可能是真的,但明天它可能是假的,没有任何拯救。所以回调不能解决这个问题。您可以使用
where(“存储的日期<当前日期”)
Item.joins(:children).where children: { valid: true, mymethod: true }