我正在使用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;
}
但我想知道是否存在更优雅的解决方案
答案 0 :(得分:0)
我将这个问题问到了doctrine的存储库中,我确认这个功能不受支持。