我有一个名为Hobbies的字段,我希望存储用户选择的所有爱好,以CSV格式存储在数据库中.我怎样才能在Cakephp中做到这一点?
粘贴到视图中(即views/users/add.ctp)
<?php echo $form->create('User', array('action' => 'add')) ?>
<?php echo $form->input('User.hobbies', array('type' => 'select',
'multiple' => 'checkbox',
'options' => array('sports' => 'sports',
'movies' => 'movies',
'games' => 'games'))) ?>
<?php echo $form->end('Save') ?>
Run Code Online (Sandbox Code Playgroud)
粘贴到用户控制器(只是标准的保存方法,这里没什么特别的)
function add() {
if(!empty($this->data)) {
if($this->User->saveAll($this->data, array('validate' => 'first'))) {
$this->Session->setFlash('User saved successfully');
} else {
$this->Session->setFlash('User failed to save');
}
}
}
Run Code Online (Sandbox Code Playgroud)
粘贴到用户模型中
function beforeValidate() {
// join hobbies into csv
if(!empty($this->data['User']['hobbies'])) {
$this->data['User']['hobbies'] = join(',', $this->data['User']['hobbies']);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
笔记:
参考文献:
| 归档时间: |
|
| 查看次数: |
5225 次 |
| 最近记录: |