0

doctrineを使用してmysqlデータベースから個別の年を選択したい:

mysqlを使用してこれを行うのは簡単です

SELECT DISTINCT DATE_FORMAT( year , '%Y') as dates FROM Inscription 

私は教義の文書でこれを行う方法を見つけられません、誰でも助けることができますか?

4

4 に答える 4

0

Doctrine 2でこれが必要な場合は、次の拡張機能を使用できます。

ガイド: http ://www.uvd.co.uk/blog/labs/using-mysqls-date_format-in-doctrine-2-0

コード: https ://github.com/uvd/Doctrine

それは私にとって素晴らしい働きをします

于 2012-06-30T20:12:41.070 に答える
0

SQLステートメントSELECT DISTINCT DATE_FORMAT( year , '%Y') as dates FROM InscriptionはDoctrineで次のように書くことができます。

A.テーブルメソッドを作成している場合:

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();
于 2012-05-29T14:40:37.187 に答える
0

次のように、distinct を使用しないでください。可能な場合は常に group by を使用してください。

  SELECT DATE_FORMAT( year , '%Y') as dates 
    FROM Inscription 
GROUP BY dates

group by に関する Doctrine のドキュメントは見つけやすいと思います。

于 2012-05-26T17:41:11.227 に答える
0

Postgresql を使用すると、次のようになります。

select('SUBSTRING(offer.date_closed, 0, 5)')

関数 substr (タイム ゾーン整数整数のないタイムスタンプ) が存在しません

代わりに使用してください:

select('SUBSTRING(CONCAT(offer.date_closed, \'\'), 0, 5)')
于 2013-01-02T22:12:42.513 に答える