Symfony 3.4 实体 属性 带有来自另一个实体的项目数组
Symfony 3.4 entity property with array of items from another entity
我有两个实体:
实体 1 - 品牌:
<?php
namespace ...;
//Here the use definitions
class Brand
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
//More properties, getters and setters
}
?>
实体 2 - 产品:
<?php
namespace ...;
//Here the use definitions
class Product
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Brand")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="brand_id", referencedColumnName="id")
* })
*/
private $brand;
//More properties, getters and setters
}
?>
我知道我可以直接得到一个品牌咨询的产品PRODUCT
,多亏了ORM。但是有没有办法让所有产品咨询 BRAND
实体?
我的意思是,有没有办法将 属性 添加到 BRAND
实体中,像这样:
/**
* @ORM\ManyToOne(targetEntity="Producto")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="brand_id")
* })
*/
private $listOfProducts;
我能得到一份产品清单吗?
是的,你可以。在您的品牌实体上,像这样添加 OneToMany 列:
<?php
namespace ...;
//Here the use definitions
class Brand
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product", mappedBy="brand")
*/
private $products;
//More properties, getters and setters
}
?>
我有两个实体:
实体 1 - 品牌:
<?php
namespace ...;
//Here the use definitions
class Brand
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
//More properties, getters and setters
}
?>
实体 2 - 产品:
<?php
namespace ...;
//Here the use definitions
class Product
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Brand")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="brand_id", referencedColumnName="id")
* })
*/
private $brand;
//More properties, getters and setters
}
?>
我知道我可以直接得到一个品牌咨询的产品PRODUCT
,多亏了ORM。但是有没有办法让所有产品咨询 BRAND
实体?
我的意思是,有没有办法将 属性 添加到 BRAND
实体中,像这样:
/**
* @ORM\ManyToOne(targetEntity="Producto")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="brand_id")
* })
*/
private $listOfProducts;
我能得到一份产品清单吗?
是的,你可以。在您的品牌实体上,像这样添加 OneToMany 列:
<?php
namespace ...;
//Here the use definitions
class Brand
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product", mappedBy="brand")
*/
private $products;
//More properties, getters and setters
}
?>