エンティティ(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」が存在しないというエラーメッセージが表示されました。