Symfony自定义存储库类不工作
我有一节课Symfony自定义存储库类不工作,symfony,doctrine-orm,repository-pattern,query-builder,Symfony,Doctrine Orm,Repository Pattern,Query Builder,我有一节课 /** * @ORM\Table(name="registration_number") * @ORM\Entity * @ORM\Entity(repositoryClass="PNC\MISDashboardBundle\Repositories\RegistrationNumberRepository") * @ORM\HasLifecycleCallbacks * @ORM\Entity@EntityListeners({"RegistrationNumberListener
/**
* @ORM\Table(name="registration_number")
* @ORM\Entity
* @ORM\Entity(repositoryClass="PNC\MISDashboardBundle\Repositories\RegistrationNumberRepository")
* @ORM\HasLifecycleCallbacks
* @ORM\Entity@EntityListeners({"RegistrationNumberListener"})
*/
class RegistrationNumber {
}
还有回购类
namespace PNC\MISDashboardBundle\Repositories;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\NoResultException;
/**
* RegistrationNumberRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class RegistrationNumberRepository extends EntityRepository {
public function findByTotalMatches($keyword)
{
/* your awesome code block */
return 34;
}
}
我以这种方式调用该方法
$check = $em->getRepository('PNCMISDashboardBundle:RegistrationNumber')
->findTotalMatches(5);
但是它说,
未定义的方法“findTotalMatches”。方法名称必须以开头
不是findBy就是findOneBy
我已经建立了许多其他定制回购和工程,我不知道这一个错误。有人暗示这有什么问题吗。如评论中所述
更改:
/**
* @ORM\Table(name="registration_number")
* @ORM\Entity
* @ORM\Entity(repositoryClass="PNC\MISDashboardBundle\Repositories\RegistrationNumberRepository")
* @ORM\HasLifecycleCallbacks
* @ORM\Entity@EntityListeners({"RegistrationNumberListener"})
*/
class RegistrationNumber {
致:
它应该可以工作。也许有两次(实际上是三次)的
@ORM\Entity
是个问题。我想你应该清理注册号的注释,然后再试一次。是的,repo正在工作,但是刚刚检查了侦听器没有工作。我说的是侦听器。如果在你提问之前它不起作用,那么你的实际问题和这个问题之间就没有关系了。多看看这个,你会成功的。祝你好运
/**
* @ORM\Table(name="registration_number")
* @ORM\Entity(repositoryClass="PNC\MISDashboardBundle\Repositories\RegistrationNumberRepository")
* @ORM\HasLifecycleCallbacks
* @ORM\EntityListeners({"RegistrationNumberListener"})
*/
class RegistrationNumber {