Cakephp 保存禁用的字段

Cakephp 保存禁用的字段,cakephp,Cakephp,在my edit.ctp中,我有一个不需要用户更改的选择框。所以我把数组(disabled=>true)放进去。但这一领域不会在何时到来 pr($this->data)并在保存时显示错误 有哪些选项可以解决此问题。您可以将字段设置为只读,以便用户无法更改它,或者使用一些隐藏字段来发布所需的数据,或者您可以使用一些css,如可见性:隐藏,以便用户看不到它,但它将被发布 echo this->Form->input('patient_id',array('type'=>'hidde

在my edit.ctp中,我有一个不需要用户更改的选择框。所以我把
数组(disabled=>true)
放进去。但这一领域不会在何时到来

pr($this->data)并在保存时显示错误


有哪些选项可以解决此问题。

您可以将字段设置为只读,以便用户无法更改它,或者使用一些隐藏字段来发布所需的数据,或者您可以使用一些css,如可见性:隐藏,以便用户看不到它,但它将被发布

echo this->Form->input('patient_id',array('type'=>'hidden'));   

您可以为输入和签入控制器使用其他名称,也可以从视图*strong text*中完全删除select元素(因为用户不需要更改它),如果您知道数据的值,可以在控制器上对其进行编辑

$this->request->data['ModelName']['fieldName']=value

更新

像编辑

echo$this->Form->input('patient_id',array('type'=>'select','readonly'=>'readonly')

禁用的字段不会被过账,您可以使用隐藏字段传递到postecho this->Form->input('patient_id',array('type'=>'hidden');echo$this->Form->input('patient_id',array('disabled'=>'true');当我像上面这样编码时,也不会发布患者id。如果使用隐藏字段,用户仍然可以轻松编辑它们!请确保使用某种形式的表单篡改保护来防止这种情况(请参阅:SecurityComponent)。但在将字段设置为只读时。选择框中的所有选项仍可由用户更改。如何解决?它显示为只读。但用户仍然可以从选项中进行选择。这就是我一直在寻找的。显示信息并按原样保存。谢谢