2009-10-04 52 views
4

我想创建一个模型,其中有一些属性未存储在数据库中。例如,我想在模型中保留一个“年龄”字段,但我只将生日信息存储在数据库中(一旦加载了DOB信息,我可以计算“年龄”)。我试着给模型扩展添加一个简单的属性,但据我所知,它被CakePHP忽略。完成此任务的正确方法是什么?CakePHP新手问题:如何将非数据库属性添加到模型中?

我是一名CakePHP新手,所以请原谅我,如果我失去了明显的东西。

回答

9

我会在模型中使用afterFind回调方法。

+1

+1听起来很有希望。只需计算年龄并将其粘贴在某个属性中即可。 – timdev 2009-10-04 18:43:48

3

自从我处理Cake之后已经有一段时间了,但为什么不只是实现一个getAge()方法呢?

+0

我喜欢这个解决方案。它是明确的并且记录在合乎逻辑的位置。 'afterFind()'当然会起作用,但它隐藏的逻辑比我想要的要多。对于新开发人员来说,“年龄”属性的可用性看起来很神奇。 – 2009-10-05 13:48:11

-1

使用类Cache

$parametrs = array('age'=>21, 'name'=>'aziz'); 
Cache::write('myOptions', $parameters); 

Cache::read('myOptions'); 
相关问题