所以我有一个模型 FeaturedListing,它有一个字段 date,它是一个 mysql 日期字段。将有多个具有相同日期值的精选列表。
我想找到所有有 N 个或更多 FeaturedListings 的日期。我想我必须按日期分组,然后找出哪些组中有 N 个或更多组,并获得分组的值。任何人都可以给我任何指示来实现这一目标。可能需要原始 sql 查询。
编辑:感谢下面的答案,它让我走上了正确的轨道,我终于有了一个我喜欢的解决方案。这有一些特定于我的应用程序的额外条件,但我认为它很清楚。此代码段查找今天之后至少有 N 个特色列表的所有日期。
$dates = $this->find('list', array(
'fields' => array('FeaturedListing.date'),
'conditions' => array('FeaturedListing.date >' => date('Y-m-d') ),
'group' => array('FeaturedListing.date HAVING COUNT(*) >= $N')
)
);
然后我调用 array_values() 以从返回的列表中删除索引并将其展平为日期字符串数组。
$dates = array_values($dates);