Я создал метод для запроса к базе данных для всех присоединяющихся таблиц в хранилище.Я также прочитал документацию от Как создать собственный репозиторий .Метод работает правильно, но в PhpStorm есть желтое предупреждение
Метод 'findAllDetail' не найден.
Как мне исправить это предупреждение?
Ниже моя сущность:
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\InvoiceRepository")
*/
class Invoice
{
, а вот InvoiceRepository
:
namespace App\Repository;
use App\Entity\Invoice;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method Invoice|null find($id, $lockMode = null, $lockVersion = null)
* @method Invoice|null findOneBy(array $criteria, array $orderBy = null)
* @method Invoice[] findAll()
* @method Invoice[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class InvoiceRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, Invoice::class);
}
/**
* @param $value
* @return Invoice[] Returns an array of Invoice objects
*/
public function findAllDetail($value)
{
$qb = $this->createQueryBuilder('i')
/* .... */
;
return $qb->execute();
}
, а вот контроллер:
/**
* @Route("/invoice/review/{idInvoice}", name="submitToReview", requirements={"idInvoice"="\d+"})
* @param $idInvoice
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function submitToReview($idInvoice, \Swift_Mailer $mailer)
{
$invoice = $this->getDoctrine()->getRepository(Invoice::class)->findAllDetail($idInvoice);
/* @var $item \App\Entity\Invoice */