使用字段的新值扩展doctrine 2模型

时间:2017-02-24 07:07:03

标签: inheritance doctrine-orm symfony

我正在使用doctrine 2创建一个symfony3项目,我的数据库中存在这种情况

base_item

Id | val1 | val2 | val3
-----------------------
1  |  a   |  b   |  c

项目

Id | base | val1 | val2 | val4
-------------------------------
3  |  1   |   z  | NULL | d

base列是base_item的外键 我想创建一个模型,其中item的类扩展了base_item,如果在两个表中声明了相同的字段,那么它的行为就是这样:

如果项目的值为null,则使用base_item的一个(在此示例中item.val2是" b"),否则使用项目的值(在此示例item.val1是" z")。

这样的事情可能吗?我还没有在网上找到任何东西

我知道我可以构建模型的getter来做类似的事情而不使用继承:

getCurrentVal1() {
    return $this->val1 === null ? $this->base->getVal1() : $this->val1;
}

但我想知道是否存在更优雅的解决方案

1 个答案:

答案 0 :(得分:0)

我将这个问题问到了doctrine的存储库中,我确认这个功能不受支持。

https://github.com/doctrine/doctrine2/issues/6308