[問題] 如何在Model中遮掉特定的欄位?

edited 十月 2013 in CakePHP
在某些legacy system當中, 資料的定義沒辦法改(管理上的因素, 怕系統會出問題).

假設有個資料表稱之為 messages , 其定義如下:

CREATE TABLE IF NOT EXISTS `messages` (
`id` int(11) NOT NULL auto_increment,
`content` text NOT NULL,
`cdate` datetime NOT NULL,
`state` enum('READY','SENT_UNKNOWN','SENT_SUCCESS') NOT NULL default 'READY',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

現在需要:

1. user要新增一筆record的時候, content由user在表單上填寫. cdate則以系統時間

為準, state則是內部管理用的, 此時cdate及state都不能出現在表單上.

2. 在寫入資料表的時候("insert into messages ..."), 在程式中指定cdate的值, 至於

state則不能在程式要寫進資料表的sql指令當中出現.


那麼在Message Model裏, 該如何安排, 才能滿足以上兩點需要呢?

謝謝. :)

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=3713

評論

Sign In or Register to comment.