Я получаю
неопределенный индекс: заказ
ошибка, хотя из того, что я могу сказать, используя эту документацию Яделаю все правильно.Есть идеи?
OrdersRepository
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();
}
Orders Entity
class Orders
{
...
/**
* One Order has Many Employees.
* @ORM\OneToMany(targetEntity="Employee", mappedBy="order", cascade={"persist", "remove"}, orphanRemoval=TRUE)
*/
private $employees;
Я знаю, если я изменю переменную в«mappedBy» изменит сообщение об ошибке на имя переменной, однако, когда вы увидите ниже, «order» должен быть переменной mappedBy (по крайней мере, я думаю).
OrderEmployees Entity
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;
}
}