ikl*_*man 2 php symfony doctrine-orm
我已经按照书中的每一步,但我无法开始工作任何实体自定义存储库.
例如,我有我的用户实体:
/**
* @ORM\Table("fos_user")
* @ORM\Entity(repositoryClass="XXX\UserBundle\Repository\UserRepository")
*/
class User extends BaseUser implements ParticipantInterface
{
}
Run Code Online (Sandbox Code Playgroud)
它的存储库类:
namespace XXX\UserBundle\Repository;
use Doctrine\ORM\EntityRepository;
/**
* UserRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class UserRepository extends EntityRepository
{
public function initializeUser()
{
//some logic
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我调用$ user-> initializeUser(); 我得到致命错误:调用未定义的方法XXX\UserBundle\Entity\User :: initializeUser(),因此很明显它无法识别自定义存储库,即使我已在实体类上声明它.有任何想法吗?
自定义存储库不会向Entity对象添加方法.
要使用$em
实体管理器调用自定义方法:
$em->getRepository('UserBundle:User')->initializeUser(),
Run Code Online (Sandbox Code Playgroud)