如何在 symfony 中添加外键(一对多)
how to add a foreign key (one to many) in symfony
我有两个实体 'Panier' 和 'Reservation' 我想添加一个一对多的外键(实体 'Panier' 可以有很多 'Reservation' 和 'Reservation' 只有一个 'Panier' id ) ,所以我必须在我的预订实体 class 中添加 'Panier' 的外键 'id' 。
这是我的预订 class :
class 预订
{
/**
* @var 整数
*
* @ORM\Column(名称="id",类型="integer",可为空=假)
* @ORM\Id
* @ORM\GeneratedValue(策略="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;
<?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();
}
}
我有两个实体 'Panier' 和 'Reservation' 我想添加一个一对多的外键(实体 'Panier' 可以有很多 'Reservation' 和 'Reservation' 只有一个 'Panier' id ) ,所以我必须在我的预订实体 class 中添加 'Panier' 的外键 'id' 。 这是我的预订 class :
class 预订 { /** * @var 整数 * * @ORM\Column(名称="id",类型="integer",可为空=假) * @ORM\Id * @ORM\GeneratedValue(策略="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;
<?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();
}
}