doctrine-orm - 多个组合主键映射Doctrine2

标签 doctrine-orm

我一直在寻找数据库模式的确切映射,如下所示

可以看到product_i18n表具有两个复合外键(product_id和locale_id)。

现在,一旦product和locale实体完成,我想将数据(名称和描述)插入到product_i18n表中。

是否有一个示例类似于使用Doctrine 2的这种类型的映射。或者,如果有人可以简要概述如何进行这种类型的映射,那么您的信息将不胜感激。

P.S.如果有人需要更多有关此的信息,请不要犹豫。

最佳答案

Doctrine 2 native 支持复合键

/**
 * @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

关于doctrine-orm - 多个组合主键映射Doctrine2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817724/

相关文章:

php - symfony2 和 dotic2 中的 "unitOfWork"是什么东西

php - 如何不使用 Doctrine 刷新 Symfony2 中的持久实体?

symfony - Doctrine querybuilder 结果

php - 如何确定 Doctrine 2 中的表关系是双向的还是单向的?

doctrine - 将 Doctrine 1 模式转换为 Doctrine 2 实体?

Symfony2 (doctrine) 原生 sql 插入

symfony - Doctrine2 急切加载运行多个查询而不是 1 个

php - symfony Doctrine 顺序

doctrine-orm - Stof\DoctrineExtensionsBundle : missing identifier/primary key for Doctrine2

symfony - Doctrine 中的反向 bool 值