Php Symfony:我的实体不读取位于我的存储库中的搜索方法
我试图操纵我的项目的搜索部分,但在搜索任何内容时会出现此错误 这是我的实体代码: 我在实体中声明了存储库Php Symfony:我的实体不读取位于我的存储库中的搜索方法,php,Php,我试图操纵我的项目的搜索部分,但在搜索任何内容时会出现此错误 这是我的实体代码: 我在实体中声明了存储库 /** * Event * * @ORM\Table() * @ORM\HasLifecycleCallbacks * @ORM\Entity(repositoryClass="Event\EventBundle\Repository\EventRepository") * @ORM\Entity */ class Event {//code.... } 我将查询放入我的存储
/**
* Event
*
* @ORM\Table()
* @ORM\HasLifecycleCallbacks
* @ORM\Entity(repositoryClass="Event\EventBundle\Repository\EventRepository")
* @ORM\Entity
*/
class Event
{//code....
}
我将查询放入我的存储库:
class EventRepository extends EntityRepository
{
public function recherche($chaine)
{
$qb = $this->createQueryBuilder('u')
->select('u')// ON MET PAS FROM PSQON EST DEJA DANS L'EVENT
->where('u.titre_even like :chaine')
//->andWhere('u.disponible=1')
->orderBy('u.id')
->setParameter('chaine', $chaine);
return $qb->getQuery()->getResult();
}
}
在colroller中,我声明了两个函数:
public function rechercheAction(){
$form = $this->createForm(new RechercheType());
return $this->render('EventBundle:Event:recherche.html.twig', array('form' => $form->createView()));
}
public function rechercheTraitementAction()
{
$form = $this->createForm(new RechercheType());
//vérifier q c b1 une methode post
if ($this->get('request')->getMethod() == 'POST') {
//récuperer les données pour les utiliser dans des requetes par la suite en fonction de la saisie
$form->bind($this->get('request'));
$em = $this->getDoctrine()->getManager();
//afficher le mot qu'on a saisie
// echo $form['recherche']->getData();
$entities = $em->getRepository('EventBundle:Event')->recherche($form['recherche']->getData());
}else {
throw $this->createNotFoundException('event n\'existe pas.');
}
return $this->render('EventBundle:Event:index.html.twig', array('entities' => $entities));
}
这是我搜索的根源:
event_recherche:
path: /recherche
defaults: { _controller: "EventBundle:Event:rechercheTraitement" }
这是我得到的错误:
未定义的方法“recherche”。方法名称必须以findBy或findOneBy开头
拜托,我需要你们的帮助 我认为这一行是错误的
->where('u.titre_甚至像:chaine')
应该是->where('u.titre_甚至像$chaine')
从实体中删除第二个@ORM\Entity注释,它会覆盖第一个注释,这就是为什么不使用存储库类的原因。您将您的语言与法语混合在一起。这让我明白了一个小问题已经解决了谢谢你的帮助:)我怎么能想到你!我太激动了!你解决了我的问题:对不起!但我不知道怎么做