我的实体(User.php)中有一个函数可以计算用户的未读警报:
public function getCountUnreadAlerts()
{
$countUnread = 0;
$alerts = $this->getAlertsReceived();
foreach ($alerts as $alert)
{
if (!$alert->getReadbyreceiver())
{
$countUnread ++;
}
}
return $countUnread;
}
它工作正常,我可以在控制器中使用 getCountUnreadAlerts() 函数,在树枝模板中使用 app.user.getCountUnreadAlerts。一切都很好,但我的理解是,这样的功能不应该真正成为实体的一部分,而是更好地放置在存储库中?
我的用户实体设置了注释以指向我的 UserRepository...
* @ORM\Entity(repositoryClass="MyCompany\BlogBundle\Repository\UserRepository")
我的问题是,如何将该函数移动到我的 UserRepository.php 中?到目前为止,我的尝试(将函数直接粘贴到 UserRepository 中)导致出现错误消息,指出方法“getCountUnreadAlerts”不存在。