【问题标题】:how to add a foreign key (one to many) in symfony如何在 symfony 中添加外键(一对多)
【发布时间】:2019-08-13 20:17:26
【问题描述】:

我有两个实体 'Panier' 和 'Reservation' 我想添加一对多外键(实体 'Panier' 可以有很多 'Reservation' 而 'Reservation' 只有一个 'Panier' id),所以我必须在我的 Reservation 实体类中添加“Panier”的外键“id”。 这是我的预订班:

类预订 { /** * @var 整数 * * @ORM\Column(name="id", type="integer", nullable=false) * @ORM\ID * @ORM\GeneratedValue(strategy="IDENTITY") */ 私人 $id;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="dateReservation", type="datetime", nullable=false)
 */
private $datereservation = 'CURRENT_TIMESTAMP';

/**
 * @var integer
 *
 * @ORM\Column(name="quantite", type="integer", nullable=false)
 */
private $quantite;

/**
 * @var float
 *
 * @ORM\Column(name="total", type="float", precision=10, scale=0, nullable=true)
 */
private $total;

/**
 * @var string
 *
 * @ORM\Column(name="type", type="string", length=255, nullable=false)
 */
private $type;

/**
 * @var string
 *
 * @ORM\Column(name="seat", type="string", length=255, nullable=false)
 */
private $seat;

/**
 * @var integer
 *
 * @ORM\Column(name="payer", type="integer", nullable=true)
 */
private $payer;

/**
 * @var string
 *
 * @ORM\Column(name="nomReservation", type="string", length=255, nullable=true)
 */
private $nomreservation;

/**
 * @var \Event
 *
 * @ORM\ManyToOne(targetEntity="Event")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="event_id", referencedColumnName="id")
 * })
 */
private $event;

/**
 * @var \User
 *
 * @ORM\ManyToOne(targetEntity="User")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 * })
 */
private $user;

【问题讨论】:

    标签: symfony doctrine foreign-keys entity


    【解决方案1】:
    <?php
    
    /** @Entity */
    class Reservation {
    
      /**
       * @ManyToOne(targetEntity="Panier", inversedBy="reservations")
       * @JoinColumn(name="panier_id", referencedColumnName="id")
       */
       private $panier;
    
    }
    
    /** @Entity */
    class Panier {
    
       /**
        * One Panier has many Reservations. This is the inverse side.
        * @OneToMany(targetEntity="Reservation", mappedBy="panier")
        */
        private $reservations;
    
        public function __construct() {
           $this->features = new ArrayCollection();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多