代码之家  ›  专栏  ›  技术社区  ›  Element Zero

symfony4-未定义的索引:在实体联接上

  •  -1
  • Element Zero  · 技术社区  · 7 年前

    我得到了一个

    未定义的索引:顺序

    即使从我能分辨出的情况来看, this documentation 我做得很好。有什么想法吗?

    订单报告

    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”中的变量,它会将错误消息更改为变量名是什么,但是当您看到下面的“order”应该是mappedby变量(至少,我认为)。

    订单员工实体

    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;
        }
    }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Arno Hilke    7 年前

    改变 targetEntity="Employee" targetEntity="OrderEmployees" 在您的订单中,实体应该提供帮助。

    docs :

    目标实体:引用目标实体的FQCN。可以是 如果两个类在同一命名空间中,则为非限定类名。

    推荐文章