我一直在寻找 DB Schema 的确切映射,如下所示
可以看到 product_i18n 表有两个复合外键(product_id 和 locale_id)。
现在,一旦产品和区域设置实体完成,我想将数据(名称和描述)插入到 product_i18n 表中。
是否有一个类似于使用 Doctrine 2 进行此类映射的示例。或者,如果有人可以简要概述如何处理此类映射,那么您的信息将不胜感激。
PS如果有人需要有关此的更多信息,请不要犹豫,询问。
我一直在寻找 DB Schema 的确切映射,如下所示
可以看到 product_i18n 表有两个复合外键(product_id 和 locale_id)。
现在,一旦产品和区域设置实体完成,我想将数据(名称和描述)插入到 product_i18n 表中。
是否有一个类似于使用 Doctrine 2 进行此类映射的示例。或者,如果有人可以简要概述如何处理此类映射,那么您的信息将不胜感激。
PS如果有人需要有关此的更多信息,请不要犹豫,询问。
Doctrine 2 原生支持复合键
/**
* @Entity
*/
class ProductI18N
{
/** @Id @Column(type="string") */
private $product;
/** @Id @Column(type="string") */
private $locale
public function __construct($product, $locale)
{
$this->product= $product;
$this->locale= $locale;
}
始终记住,必须在持久化模型之前设置复合键:
$productI18N = new ProductI18N("Guanabana", "CR");
$em->persist($productI18N );
$em->flush();
有关您的更多信息,请参阅文档: http ://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html
如果您在字段 1(id 自动增量)和字段 2(指定)中有复合键,请使用:
class ProductI18N
{
/** @Id @Column(type="string") @GeneratedValue(strategy="AUTO") */
private $product;
/** @Id @Column(type="string") @GeneratedValue(strategy="NONE") */
private $locale