首页 > 解决方案 > Rails 6查询记录,其中包括条件和计数

问题描述

我有一个模型category和一个名为eventswhere 类别has_many事件的模型。

事件有一列scheduled_at

我想获得未来有事件的所有类别。

这是我正在玩的一些伪代码:

Category.includes(:events).where("events.scheduled_at > ?", Time.current).count(events) > 0

任何想法如何让这个查询正确?

标签: ruby-on-railsactiverecord

解决方案


如果您的问题是 ActiveRecord::StatementInvalid 错误,请考虑在查询末尾no such column: events.scheduled_at添加引用,如下所示

Category.includes(:events).where("events.scheduled_at > ?", Time.current).references(:events)

此外,count(events)不仅仅是使用大小


推荐阅读