Я получаю
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;
}
}




Изменение 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. Огромное спасибо!