这个案例是一个案例研究,我正在尝试解决这个问题,以便向我的学生解释如何组织实体和创建表单。
我的三个实体之间有这种奇异的关系:
主角 <--(OneToMany)--> 事件注册 <--(ManyToOne)--> 事件
由于 EventRegistration 表中有一些列,因此无法将其转换为多对多关系:
主角:
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\ProtagonistRepository")
*/
class Protagonist
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=100)
*/
private $name;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $japaneseName;
/**
* @ORM\Column(type="text")
*/
private $description;
/**
* @ORM\Column(type="string", length=80, nullable=true)
*/
private $picture;
/**
* @ORM\Column(type="string", length=80, nullable=true)
*/
private $background;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updated_at;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Category", inversedBy="protagonists")
* @ORM\JoinColumn(nullable=false)
*/
private $category;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Tag", mappedBy="protagonists")
*/
private $tags;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Registration", mappedBy="protagonist")
*/
private $registrations;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isAlive;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Event", mappedBy="protagonists")
*/
private $events;
温温酱