[英]Symfony2 Doctrine, joining tables by its foreign key
我已经将两个表以及已提供给我的数据导入到Symfony数据库中,并希望通过外键将两个表连接起来。
表主具有列:ID,日期,dano,partno,batchno
表格Sub具有以下列:ID,main_id,rackno,code,qty
我想将表以一对多(?)的形式连接在一起,因为一个主对象可以包含许多子对象。 例如,一个dano可以有多个rackno。 我猜测Table Sub中的* main_id *和Table Main中的id是将用于连接的键。
我该如何将二者与教义结合在一起? 我的表由其自己的实体文件分开。
在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;
您不能像这样处理。 如果需要ManyToOne关系,则需要这样做:
在您的主班:
/**
* @ORM\OneToMany(targetEntity="Sub", mappedBy="main")
*/
private $sub;
在您的子类中:
/**
* @ORM\ManyToOne(targetEntity="Main", inversedBy="sub")
* @ORM\JoinColumn(name="main_id", referencedColumnName="id")
*/
private $main;
并且不要忘记同步您的数据库;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.