Symfony4 - Неопределенный индекс: при объединении сущностей

Я получаю

undefined index: order

ошибка, хотя из того, что я могу сказать с помощью эта документация, я все делаю правильно. Любые идеи?

Заказы

public function findByDateAndEmployee(\DateTime $date, int $employeeId)
{
    return $this->createQueryBuilder('o')
        ->select('o')
        ->join('o.employees' ,'e')
        ->where('e.id = :id')
        ->setParameter('id',$employeeId)
    ->getQuery()->getSql();
}

Организация заказов

class Orders
{
  ...
    /**
     * One Order has Many Employees.
     * @ORM\OneToMany(targetEntity = "Employee", mappedBy = "order", cascade = {"persist", "remove"}, orphanRemoval=TRUE)
     */
     private $employees;

Я знаю, что если я изменю переменную в «mappedBy», сообщение об ошибке изменится на любое имя переменной, однако, когда вы видите ниже, «порядок» должен быть переменной mappedBy (по крайней мере, я думаю).

Организация OrderEmployees

class OrderEmployees
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type = "integer")
     */
    private $id;

    /**
     * @ORM\Column(type = "integer")
     */
    private $orderId;

    /**
     * @ORM\Column(type = "smallint")
     */
    private $employeeId;

    /**
     * @ORM\ManyToOne(targetEntity = "Orders", inversedBy = "employees")
     * @ORM\JoinColumn(name = "order_id", referencedColumnName = "id")
     */
    private $order;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getOrderId(): ?int
    {
        return $this->orderId;
    }

    public function setOrderId(int $orderId): self
    {
        $this->orderId = $orderId;

        return $this;
    }

    public function getEmployeeId(): ?int
    {
       return $this->employeeId;
    }

    public function setEmployeeId(int $employeeId): self
    {
       $this->employeeId = $employeeId;

       return $this;
    }

    public function getOrder(): Orders
    {
        return $this->order;
    }

    public function setOrder(Orders $order): self
    {
        $this->order = $order;

        return $this;
    }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изменение targetEntity = "Employee" на targetEntity = "OrderEmployees" в вашей сущности Orders должно помочь.

Из документы:

targetEntity: FQCN of the referenced target entity. Can be the unqualified class name if both classes are in the same namespace.

Ах, черт возьми, я знал, что это какая-то глупость вроде опечатки. Я смотрел на это минут 30, и меня это даже не поразило, lol. Огромное спасибо!

Element Zero 11.10.2018 20:04

Другие вопросы по теме