蛋糕PHP HABTM选择框在编辑模式下未填充


CakePHP HABTM Select box in edit mode not populating

我觉得我快疯了。通常我可以弄清楚这些事情,但这个真的卡住了。我正在使用蛋糕 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 手册中的描述完全一致,它适用于我的本地测试系统,但是一旦我将其上传到我的服务器,它就会失败。

任何这方面的帮助将不胜感激,如果需要更多信息,请告诉我。

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

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

否则,您在控制器中执行的操作看起来是正确的。

你为什么不输入输入选项?这样

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

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

感谢所有回复的人。