从日期中提取一个月

时间:2009-03-04 10:05:52

标签: php mysql propel

我正在尝试使用推动标准建立一个查询,以获得给定月份内的所有Foo。

例如,我想在三月份所有的Foo's。在常规SQL中,我会构建一个这样的查询:

SELECT * FROM FooPeer WHERE MONTH(startDate) = 3

任何想法如何实现“标准对象中的MySQL月份函数”?

$c = new Criteria();
$c -> add(FooEvent::START_DATE, 3, Criteria::EQUAL); //where do I have to put the Month function ?
return self::doSelect($c);

2 个答案:

答案 0 :(得分:2)

好吧,自定义标准完成了这项工作!

$month = 3; //march
$criteria->add(FooPeer::START_DATE, 'MONTH('.FooPeer::START_DATE.')='. $month, Criteria::CUSTOM);

答案 1 :(得分:0)

这个问题在那里得到了部分回答:How to use MySQL functions in Propel

使用Criteria :: CUSTOM或编写自定义SQL似乎是唯一的解决方案。