Doctrine2を初めて使用します。エンティティまたはリポジトリでカスタム関数を作成するのに最適な場所はどこですか?ユーザーエンティティがあり、彼の年齢を取得したいとします。
関数getAgeをエンティティに入れると、非常に簡単です。ただし、関数getAgeをリポジトリに配置した場合、そのユーザーの年齢を取得するにはuserIdを渡す必要があります。私が間違っている?それを達成するための最良のアプローチは何ですか?
Doctrine2を初めて使用します。エンティティまたはリポジトリでカスタム関数を作成するのに最適な場所はどこですか?ユーザーエンティティがあり、彼の年齢を取得したいとします。
関数getAgeをエンティティに入れると、非常に簡単です。ただし、関数getAgeをリポジトリに配置した場合、そのユーザーの年齢を取得するにはuserIdを渡す必要があります。私が間違っている?それを達成するための最良のアプローチは何ですか?
通常、エンティティを操作するときは、エンティティ自体のエンティティに関するすべてのデータと操作を保持する必要がありますが、リポジトリは、で始まる正しいエンティティをフェッチするためにのみ使用されます。
例として、単一のエンティティ内のデータgetAge()
をsetAge()
返す/操作するため、エンティティ自体に移動する必要がgetUsersByAge()
ありますが、特定の年齢のすべてのユーザーを特定する理論はリポジトリに移動します。
お役に立てば幸いです
$em = Zend_Registry::getInstance ()->entitymanager;
$user = $em->getRepository('Model_User')->findOneBy(array( 'user_id' => $userID,
));
$user->getAge();