我有表用戶,其中有字段用戶名,密碼和類型。該類型可以是這些員工,供應商和客戶的任何一個或組合,即用戶可以是供應商或客戶,也可以是其他組合。對於類型字段,我使用了多個複選框,請參閱下面的代碼。這是視圖/用戶/ add.ctp文件哪個cakephp回調方法可供選擇?
形式 - >創建( '用戶');?> 形式 - >輸入( '用戶名'); echo $ this-> Form-> input('password'); echo $ this-> Form-> input('type',array('type'=>'select','multiple'=>'checkbox','options'=> array( 'client'=>' ' ) ));''''''''' > 形式 - >端部(__( '提交',真));?>這是我在模型文件中使用的代碼。回調方法beforeSave 應用/模型/ user.php的
功能beforeSave(){ 如果(!空(這 - $>數據[ '用戶'] [ '類型'])){$ 這 - > data ['User'] ['type'] = join(',',$ this-> data ['User'] ['type']); } return true; } 此代碼將多個值保存爲db中逗號分隔值。
當我編輯用戶時,主要問題出現了。如果用戶在創建用戶時選擇了多種類型,我無法找到爲該用戶類型檢查的複選框。
我不熟悉cakephp,如果你在某處加載$ this-> data ['User'],那麼直接執行該操作後,應該運行`$ this-> data [ 'User'] ['type'] = explode(',',$ this-> data ['User'] ['type']);`然後它應該工作 – Jason 2011-02-07 05:03:33
你知道我應該這樣編碼。但Iam困惑了我應該在哪種回調方法中編寫這段代碼。 – 2011-02-07 05:11:49