「標準ではない」クエリはすべて、リポジトリクラス
に書き込む
必要があります。また、このクラスをデータモデルを表すクラスに関連付ける必要があります。
あなたのエンティティが呼び出されたとするとUser
、あなたはこのようなことをしなければなりません
/**
* VendorName\UserBundle\Entity\User
*
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="VendorName\UserBundle\Repository\UserRepository")
*/
class User implements AdvancedUserInterface
{
[...]
これは、そのエンティティのすべての「カスタム」クエリがそのリポジトリクラスに適合することを意味します。
次に、リポジトリを作成する必要があります
class UserRepository extends EntityRepository implements UserProviderInterface
{
public function findUserByMemberID($id)
{
/* your logic here */
}
[...]
次のように使用できます
$userRepo = $this->em->getRepository('VendorUserBundle:User');
$userRepo->findUserByMemberID();