2

我是使用 Doctrine2 的新手,在实体或存储库中编写自定义函数的最佳位置在哪里?假设我有一个用户实体,我想知道他的年龄。

如果我将函数 getAge 放在我的实体中是非常简单的。但是如果我将函数 getAge 放在我的存储库中,我必须通过 userId 来获取该用户的年龄。我错了吗?实现这一目标的最佳方法是什么?

4

2 回答 2

6

通常在处理实体时,您会希望将实体上的所有数据和操作保留在实体本身中,而存储库仅用于获取以 . 开头的正确实体

例如,对单个实体中的数据进行返回/操作,因此它们应该进入实体本身,而定位特定年龄的所有用户的理论getAge()将进入存储库。setAge()getUsersByAge()

于 2012-07-08T05:50:44.257 回答
0

希望它会有所帮助

$em = Zend_Registry::getInstance ()->entitymanager;
$user = $em->getRepository('Model_User')->findOneBy(array( 'user_id' => $userID,
        ));
$user->getAge();
于 2012-07-09T16:34:29.977 回答