【发布时间】:2019-12-22 14:50:36
【问题描述】:
我有两个实体和一个用于多对多关系的联接表:
Entities/Product.php
namespace App\Entities;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Table(name="product")
* @ORM\Entity(repositoryClass="App\Repositories\ProductRepository")
*/
class Product
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*
* @var int
*/
private $id;
/**
* Many Products have Many Processes
*
* @ORM\ManyToMany(targetEntity="Process", inversedBy="products")
* @ORM\JoinTable(name="product_process")
*
* @var \Doctrine\Common\Collections\ArrayCollection
*/
private $processes;
public function __construct()
{
$this->processes = new ArrayCollection();
}
}
Entities/Process.php
namespace App\Entities;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Table(name="process")
* @ORM\Entity(repositoryClass="App\Repositories\ProcessRepository")
*/
class Process
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*
* @var int
*/
private $id;
/**
* Many Processes have Many Products
*
* @ORM\ManyToMany(targetEntity="Product", mappedBy="processes")
*
* @var \Doctrine\Common\Collections\ArrayCollection
*/
private $products;
public function __construct()
{
$this->products = new ArrayCollection();
}
}
在运行 dictionary:migrations:diff 命令时,它创建了 product、process 和 product_process 表。
我想在product_process 连接表上创建索引和外键。
这是否可以通过其他两个实体之一(Product 或 Process)上的 Doctrine ORM 注释来实现?
【问题讨论】: