Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP:多选输入数据插入数据库_Php_Cakephp - Fatal编程技术网

CakePHP:多选输入数据插入数据库

CakePHP:多选输入数据插入数据库,php,cakephp,Php,Cakephp,我的多选输入代码是 <?php echo $this->Form->input('Dispensary.role.',array('options'=>$dispensary_users,'class'=>'form-control dispensary_users_dd','label'=>false,'style'=>'width:300px;','empty'=>'Select Users')); ?> 和生成的html代码: &

我的多选输入代码是

<?php echo $this->Form->input('Dispensary.role.',array('options'=>$dispensary_users,'class'=>'form-control dispensary_users_dd','label'=>false,'style'=>'width:300px;','empty'=>'Select Users'));
?>

和生成的html代码:

<select name="data[Dispensary][role][]" class="form-control dispensary_users_dd" style="width: 300px; display: none;" id="DispensaryRole">
  <option value="">Select Users</option>
  <option value="9">Yashobanta</option>
  <option value="80">Yash</option>
  <option value="83">Ramesh</option>
</select>

选择用户
亚舒班塔
亚什
拉梅什
但是当我选择所有用户,并且
print\r($this->data)时
返回上次选择的输入。

但是我想要所有的。

我不知道如何使用
$this->Form->input(…)有效,因为它并不重要。您只能选择一个没有
multiple
属性的意见

w3schools.org提供的示例:

<select name="cars" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

沃尔沃汽车
萨博
欧宝
奥迪

我忘了添加
multiple=>true
要在数据库中保存multiple-select值,请使用内爆函数存储数组

在控制器中:

if (!empty($this->data)) {
    $this->data['Category']['name'] = implode(",",$this->data['Category']['name']);
       $this->Category->create();
       $this->Category->save($this->data);
}

希望有帮助:)

建议-学习基本的html和php,尤其是表单属性,这将帮助您处理这些常见的事情