我想用教义从mysql数据库中选择不同的年份:
这是很容易做到这一点用mysql
SELECT DISTINCT DATE_FORMAT( year , '%Y') as dates FROM Inscription
我没有找到如何学说文档中做到这一点,任何人都可以帮忙吗?
我想用教义从mysql数据库中选择不同的年份:
这是很容易做到这一点用mysql
SELECT DISTINCT DATE_FORMAT( year , '%Y') as dates FROM Inscription
我没有找到如何学说文档中做到这一点,任何人都可以帮忙吗?
SQL语句SELECT DISTINCT DATE_FORMAT( year , '%Y') as dates FROM Inscription
可以教义写成如下:
答:如果你正在写一个表的方法:
class InscriptionTable extends Doctrine_Table {
/* ... */
public function getDistinctYears()
{
return $this->createQuery('I')
->select('DISTINCT(DATE_FORMAT( year , '%Y')) years')
->setHydrationMode(Doctrine::HYDRATE_ARRAY)
->execute();
}
}
B.如果你正在编写一个内嵌DQL电话:
InscriptionTable::getInstance()->createQuery('I')
->select('DISTINCT(DATE_FORMAT( year , '%Y')) years')
->setHydrationMode(Doctrine::HYDRATE_ARRAY)
->execute();
如果你想用这个原则2,你可以使用这个扩展:
指南: http://www.uvd.co.uk/blog/labs/using-mysqls-date_format-in-doctrine-2-0
代码: https://github.com/uvd/Doctrine
这对我很有效
切勿使用不同的,总是而是使用组时就可以了,就像这样:
SELECT DATE_FORMAT( year , '%Y') as dates
FROM Inscription
GROUP BY dates
在GROUP BY主义文档很容易找到我的想法。
如果你使用PostgreSQL,您将收到:
select('SUBSTRING(offer.date_closed, 0, 5)')
功能SUBSTR(没有时间戳时区整数整数)不存在
改用:
select('SUBSTRING(CONCAT(offer.date_closed, \'\'), 0, 5)')