2009-10-04 44 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');