Symfony 3.4:找不到存储库方法

时间:2019-03-23 18:34:31

标签: symfony orm doctrine entity

我想在我的存储库类中添加一个方法; 这是我的存储库类“ PanierRepository”: (路径:src / techeventBundle / Repository / PanierRepository.php)

namespace techeventBundle\Repository;
use Doctrine\ORM\EntityRepository;

class PanierRepository extends EntityRepository
{
public function findAllOrderedByName($iduser){}
}

这是我的实体类,称为“ Panier”: (路径:src / techeventBundle / Entity / Panier.php)

namespace techeventBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Panier
 *
 * @ORM\Table(name="panier", indexes={@ORM\Index(name="userid", columns={"userid"})})
 * @ORM\Entity(repositoryClass="techeventBundle\Repository\PanierRepository")
 */
class Panier
{

,这是我要在另一个捆绑软件的控制器中调用此存储库方法的位置,并且我已经包含了该实体(使用techeventBundle \ Entity \ Panier;): (路径:src / reservationBundle / Controller / DefaultController.php)

 $panier = $this->getDoctrine()->getRepository('techeventBundle:Panier')->findAllOrderedByName($iduser);

找不到存储库方法! 注意:添加存储库后,我还没有生成实体
请帮忙,谢谢!

1 个答案:

答案 0 :(得分:0)

尝试:

$this->getDoctrine()->getManager()->getRepostory( ...

enter image description here

最后,...您的代码应为:

$panier = $this->getDoctrine()
    ->getManager()
    ->getRepository('techeventBundle:Panier')
    ->findAllOrderedByName($iduser);

$panier = $this->getDoctrine()
    ->getManager()
    ->getRepository(techeventBundle\Entity\Panier::class)
    ->findAllOrderedByName($iduser);