Есть две сущности Book - бронирование
и Extra - дополнительные услуги
когда человек бронирует такси, он может выбрать дополнительные услуги
например
Встречать с табличкой: 5долл
Захватить бутерброд: 10долл :)
Поднести сумки: 50долл
к одному бронированию можно подключить несколько услуг
в форме это дело должно выглядеть как список Extra с чекбоксами
человек видит название услуги и цену - отмечает чекбокс и пркрепляется таким образом дополнительная услуга к бронированию
как правильно можно реализовать это функционал? бьюсь несколько дней не выходит
пробовал
/**
* Many Book have Many Extra.
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Extra")
* @ORM\JoinTable(name="book_extra",
* joinColumns={@ORM\JoinColumn(name="book_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="extra_id", referencedColumnName="id")}
* )
*/
не выходит или руками нужно создать промежуточную сущность
/**
* Book
*
* @ORM\Table(name="book")
* @ORM\Entity(repositoryClass="AppBundle\Repository\BookRepository")
*/
class Book
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Extra")
*/
private $extras;
public function __construct()
{
$this->extras = new ArrayCollection();
}
}
/**
* Extra
*
* @ORM\Table(name="extra")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ExtraRepository")
*/
class Extra
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255, unique=true)
*/
private $title;
/**
* @var int
*
* @ORM\Column(name="summ", type="integer")
*/
private $summ;