[英]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.