我已经导入了两个表,这些表包含给我的数据到Symfony数据库中,并希望通过外键加入这两个表。
表主包含列:ID,indate,dano,partno,batchno
表 Sub 包含列:ID,main_id,rackno,code,qty
我想将这些表一起作为一对多(?)加入,因为一个main可以有很多subs。例如,一个dano可以有很多rackno。我猜表 Sub 中的* main_id *和表主中的 id 是将用于加入的键。
如何与Doctrine一起加入这两个?我将表分隔为自己的Entity文件。
On Main.php
class Main
{
/**
* @var integer
* @ORM\ManyToOne(targetEntity="Sub", mappedBy="mainId")
*/
private $id;
/**
* @var \DateTime
*/
private $indate;
/**
* @var string
*/
private $dano;
/**
* @var string
*/
private $partno;
/**
* @var integer
*/
private $batchno;
在Sub.php上:
class Sub
{
/**
* @var integer
*/
private $id;
/**
* @var integer
* @ORM\ManyToOne(targetEntity="Main", inversedBy="id")
* @ORM\JoinColumn(name="id", referencedColumnName="id")
*/
private $mainId;
/**
* @var string
*/
private $rackno;
/**
* @var string
*/
private $code;
/**
* @var integer
*/
private $qty;
答案 0 :(得分:0)
你不能这样处理。如果您需要ManyToOne关系,则需要:
在您的主课程中:
/**
* @ORM\OneToMany(targetEntity="Sub", mappedBy="main")
*/
private $sub;
在您的Sub类中:
/**
* @ORM\ManyToOne(targetEntity="Main", inversedBy="sub")
* @ORM\JoinColumn(name="main_id", referencedColumnName="id")
*/
private $main;
不要忘记同步你的数据库;)