多对一/一对一协会



我有一个实体产品,其中包含两个字段 urlTracking 和 urltrackingDoc,类型为 urltracking 和实体 Urltracking,其中包含产品。 我需要产品和网址跟踪之间的关系,例如一对一多对一。

问题是当我按 id 查找 urlTracking 时,我得到了很好的产品填充,但是当我按 id 搜索 urlTrackingDoc 时,我得到产品空

/**
*@ORMTable(name="product")
* @ORMEntity(repositoryClass="AppProductBundleRepositoryProductRepository")
*/
class Product{

/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue()
* @var int
*/
private $id;

/**
* @var UrlTracking $urlTracking
* @ORMOneToOne(targetEntity="AppUrlTrackingBundleEntityUrlTracking", inversedBy="product")
* @ORMJoinColumn(name="url_tracking_id", referencedColumnName="id")
*/
private $urlTracking;
/**
* @var UrlTracking $urlTrackingDoc
* @ORMOneToOne(targetEntity="AppUrlTrackingBundleEntityUrlTracking", inversedBy="product")
* @ORMJoinColumn(name="url_tracking_doc_id", referencedColumnName="id")
*/
private $urlTrackingDoc;
//...
}
/**
*@ORMTable(name="url_tracking")
* @ORMEntity(repositoryClass="AppUrlTrackingBundleRepositoryUrlTrackingRepository")
*/
class UrlTracking{

/**
* @ORMId
* @ORMColumn(type="integer")
* @ORMGeneratedValue()
* @var int
*/
private $id;
/**
* @var Product
* @ORMOneToOne(targetEntity="AppProductBundleEntityProduct", mappedBy="urlTracking")
* @ORMOneToOne(targetEntity="AppProductBundleEntityProduct", mappedBy="urlTrackingDoc")
*/
private $product;
//...
}

您必须在 UrlTracking 实体中具有 2 个产品属性,例如$product$productDoc每个属性都有自己的原则映射。

最新更新