假设我有以下数据库
[Objects]
1
2
[Settings]
x
y
a
b
c
[ObjectSettings]
1, x
1, y
2, a
2, b
2, c
所以对象1有(x,y),2有(a,b,c)
现在在UI中,(x,y)和(a,b,c)等设置的组合具有特定的名称,
(x,y) = SettingA
(a,b,c) = SettingB
UI应该与细节无关,只能绑定到模型上的两个字段,并在UI上显示。
类似
class Object extends Model {
public $fields = array(
.
.
.
'SettingA' =>....,
'SettingB' =>...
)
}
所以在我的CakePhp [Object]模型中,我希望有2个字段/ virtualFields /无论是SettingA和SettingB,每个都是true / false。我会调用一个服务来在数据库上正确转换和持久化ObjectSettings。
普通字段:问题在于,只有通过查看字段数组,它看起来像数据库中的字段,因为它们与其他常规字段组合在一起。这些字段的实际绑定将在beforeSave和afterFind回调的覆盖中发生。
虚拟字段:虽然它支持自定义sql,但它不支持保存。
将这些字段映射到模型的最佳Cakephp方法是什么,这样我就可以保存和读取必要的转换。有任何想法吗?