私は良い設計を実践し、Doctrine エンティティを拡張しようとしています。基本的に私の拡張クラスであるモデルには、追加のビジネス ロジックとエンティティの基本データへのアクセスが含まれます。
Doctrine 2.2.1 & Zend Framework 1.11.4 & php 5.3.8 を使用しています
DQL を使用すると、doctrine は Model エンティティを正常に返します。Doctrine ネイティブの find() 関数を使用すると、何も返されません :(.
ヘルプ...
これはそれがどのように転がるかです:
Bootstrap.php :
$classLoader = new \Doctrine\Common\ClassLoader('Entities', APPLICATION_PATH.'/doctrine');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Models', APPLICATION_PATH);
$classLoader->register();
APPLICATION_PATH\models\User.php のモデル:
namespace Models;
use Doctrine\ORM\Query;
/**
* Models\User
*
* @Table(name="user")
* @Entity
*/
class User extends \Entities\User {
public function __wakeup() {
$this->tools = new Application_App_Tools();
}
エンティティ検索機能:
機能しません:
$userEntity = $registry->entityManager->find('Models\User', $userEntity);
作品:
$qry = $qb
->select('u')
->from('Models\User','u');