CakePHP HABTM在编辑模式下选择框不填充

时间:2015-06-10 17:06:43

标签: php cakephp has-and-belongs-to-many cakephp-2.3

我觉得我疯了。通常我可以解决这些问题,但这个问题确实存在。我正在使用Cake 2.3.7。我注意到早期版本的CakePHP中存在一个错误。

希望有人可以指出我哪里出错了。在我的网站上,我有文章有3个HABTM关联>苍蝇,河流和湖泊。所以:

文章 - HABTM - 飞 文章 - HABTM - 河 文章 - HABTM - 湖

控制器:

...
$flies = $this->Article->Fly->find('list');
$lakes = $this->Article->Lake->find('list');
$rivers = $this->Article->River->find('list');
$this->set(compact('flies', 'lakes', 'rivers'));

查看:

echo $this->Form->input('Fly');
echo $this->Form->input('Lake');
echo $this->Form->input('River');

这个语法似乎与CakePHP 2.x手册中描述的完全一样,它可以在我的本地测试系统上运行,但是一旦我将它上传到我的服务器,它就会失败。

我们将非常感谢您提供的任何帮助,如果需要更多信息,请与我们联系。

3 个答案:

答案 0 :(得分:0)

为什么不提供输入选项?像这样

echo $this->Form->input('Fly',array('options'=>$flies));
echo $this->Form->input('Lake',array('options'=>$lakes));
echo $this->Form->input('River',array('options'=>$rivers));

答案 1 :(得分:0)

对于HABTM关联,您的表单字段应为: -

echo $this->Form->input('Fly.Fly');
echo $this->Form->input('Lake.Lake');
echo $this->Form->input('River.River');

否则你在控制器中所做的事情看起来是正确的。

答案 2 :(得分:0)

我上传的服务器,不知何故有一个CakePHP 2.3.0的副本,应用程序指向它。 CakePHP有一个已知的错误导致这种情况。

感谢所有回复的人。