在使用多个select处理表单后,saveAll不会在cakephp 2.0中保存关联数据
我有一个模型,和另一个模型有很多关系 单字段数据保存到主模型,下拉选择输入的数据应保存到关联模型 当我试图手动创建一个数组并使用saveAll时,一切正常,数据也保存了下来。但是select输入的问题在其名称内。正确的格式是:在使用多个select处理表单后,saveAll不会在cakephp 2.0中保存关联数据,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我有一个模型,和另一个模型有很多关系 单字段数据保存到主模型,下拉选择输入的数据应保存到关联模型 当我试图手动创建一个数组并使用saveAll时,一切正常,数据也保存了下来。但是select输入的问题在其名称内。正确的格式是: array( 'Article' => array('title' => 'My first article'), 'Comment' => array( array('body' => 'Comment 1', '
array(
'Article' => array('title' => 'My first article'),
'Comment' => array(
array('body' => 'Comment 1', 'user_id' => 1),
array('body' => 'Comment 2', 'user_id' => 12),
array('body' => 'Comment 3', 'user_id' => 40),
),
)
创建选择列表并传递选项数组时,我们只能设置一个标记名,如Comment.body,但必须使用Comment.0.body、Comment.1.body等
因此,无法读取post数据的格式,Cake无法成功使用saveAll
是否有人遇到过这个问题-使用正确的名称和值生成多个select输入 您是如何生成表单的?正确的格式是你说的第二个,Comment.0.body。为此,您需要以下内容:
echo $this->Form->input('Comment.0.body');
echo $this->Form->input('Comment.1.body');
将产生:
<input type='text' id='Comment0Body' name="data[Comment][0][body]" />
<input type='text' id='Comment1Body' name="data[Comment][1][body]" />
该问题通过切换到$HasandBelongToMany关系解决。你好,Paulo,谢谢,但如果我有20个相关元素,那么我有一个多下拉选择标记,问题是我们使用$this->Form->select'Model.field',$options设置了一次选择的输入名称