我正在努力练习一个好的设计并扩展Doctrine实体.我的扩展类(基本上是模型)将具有额外的业务逻辑+访问实体基本数据.
我正在使用Doctrine 2.2.1和Zend Framework 1.11.4和php 5.3.8
当我使用DQL时,doctrine成功返回Model实体.当我使用Doctrine native find()函数时,它什么都不返回:(.
救命...
Bootstrap.php:
$classLoader = new \Doctrine\Common\ClassLoader('Entities', APPLICATION_PATH.'/doctrine');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Models', APPLICATION_PATH);
$classLoader->register();
Run Code Online (Sandbox Code Playgroud)
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();
}
Run Code Online (Sandbox Code Playgroud)
实体检索功能:
不工作:
$userEntity = $registry->entityManager->find('Models\User', $userEntity);
Run Code Online (Sandbox Code Playgroud)
工作:
$qry = $qb
->select('u')
->from('Models\User','u');
Run Code Online (Sandbox Code Playgroud)