我有一个现有的SQL表,我无法修改其架构,我想为它创建一个Lithium数据模型。问题是一列包含多个由特殊字符分隔的“字段”。
E.g。
data = "username|email|age"
我需要:
我试图弄清楚如何做到这一点,但似乎没有简单的方法。甚至不是很难:)任何想法?
答案 0 :(得分:1)
开箱即用的锂电池不支持Magic虚拟属性。这里有一个正在进行的工作和讨论https://github.com/UnionOfRAD/lithium/pull/569。
也就是说,在保存和查找模型+过滤器中的实例方法几乎可以解决这个问题。
username
,email
和age
,
阅读后,您的实体属性。data
属性,并取消设置username
,email
和age
(以避免保存它们) 也许你需要模型实例方法,就像
一样public function username($entity) {
/* split here $entity->data by "|" and keep only what do you want */
return $username;
}
然后你可以在任何地方拨打$ user-> username()来获取用户名。
这应解决您的问题,直到此功能将在Lithium中发货。