0
SELECT id, forename, surname, created 
FROM name n 
WHERE created = (SELECT MAX(created) 
                          FROM name 
                          GROUP BY id 
                          HAVING id = n.id);

schema.yml:

    id:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: true
  lcreated:
      type: timestamp(25)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  forname/surname:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: false
      notnull: true
      autoincrement: false

forname と surname 用の追加のテーブルがあります。

これをドクトリン1.2に変換するにはどうすればよいですか?

4

1 に答える 1

0

これを試してください:

$query = Doctrine_Query::create()
  ->from('Name m')
  ->where('m.created = (SELECT MAX(gn.created) 
                          FROM Name gn
                          GROUP BY gn.id 
                          HAVING m.id = gn.id)');

ドキュメントへのリンク

于 2012-07-23T11:54:10.000 に答える