2011-01-14 18 views
2

私はDoctrineでSymfony 1.4を使用しています。私はImageと呼ばれる教訓クラスと、クエリを介して次の値と前の値を見つけなければならないという方法を持っています。問題のコードは次のようになります。"クラスが見つかりませんでした" Doctrine Subqueries

$q = Doctrine_Core::getTable('Image')->createQuery() 
      ->from('Image i') 
      ->where('i.id = (select max(a.id) from Image a where ? > a.id and is_active = 1)', $this->getId()) 
      ->orWhere('i.id = (select min(b.id) from Image b where ? < b.id and is_active = 1)', $this->getId()); 

私はいつも

500を得ます|内部サーバーエラー| Doctrine_Exceptionクラスaが見つかりませんでした

エラーです。何かヒント?

答えて

3

Doctrineはこのようなケースでは大文字と小文字を区別します。作業コードは次のようになります。

$q = Doctrine_Core::getTable('Image')->createQuery() 
      ->from('Image i') 
      ->where('i.id = (SELECT MAX(a.id) FROM Image a WHERE ? > a.id AND is_active = 1)', $this->getId()) 
      ->orWhere('i.id = (SELECT MIN(b.id) FROM Image b WHERE ? < b.id AND is_active = 1)', $this->getId()); 
関連する問題