我觉得我疯了。通常我可以解决这些问题,但这个问题确实存在。我正在使用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手册中描述的完全一样,它可以在我的本地测试系统上运行,但是一旦我将它上传到我的服务器,它就会失败。
我们将非常感谢您提供的任何帮助,如果需要更多信息,请与我们联系。
答案 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有一个已知的错误导致这种情况。
感谢所有回复的人。