小编oha*_*wkn的帖子

扩展Doctrine Entity以添加业务逻辑

我正在努力练习一个好的设计并扩展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)

php model-view-controller orm doctrine-orm

8
推荐指数
1
解决办法
2996
查看次数

标签 统计

doctrine-orm ×1

model-view-controller ×1

orm ×1

php ×1