2015-06-10 4 views
0

Я чувствую, что сойду с ума. Обычно я могу понять эти вещи, но это действительно застряло. Я использую Cake 2.3.7. Я заметил, что в предыдущих версиях CakePHP есть ошибка.CakePHP HABTM Выберите поле в режиме редактирования, не заполняя

Надеюсь, кто-то может указать, где я иду не так. На моем сайте у меня есть статьи, в которых есть 3 ассоциации HABTM> Flies, Rivers and Lakes. Итак:

Статья - HABTM - Fly Статья - 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

Также это поможет, какая версия торта находится на вашей локальной тестовой системе и сервере, если они одинаковы, тогда ваша проблема довольно странная. – Royalty

+0

У меня есть CakePHP как на моей тестовой системе (MAMP/Mac), так и на сервере (Bluehost.com). Может быть, это версия PHP на сервере (5.4)? –

+0

Я не думаю, что у вас есть версия тортов прямо ... Я не думаю, что 3.2.7 еще нет ... вы можете уточнить? – Royalty

ответ

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)); 
+0

Благодарим вас за эту рекомендацию. К сожалению, это тоже не сработало. –

0

Для HABTM ассоциаций ваши поля формы должны быть: -

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

В противном случае, что вы делаете в контроллере выглядит правильно.

+0

Спасибо, господин, я пробовал это и, к сожалению, это не имело значения. –

0

Сервер, на который я загружался, как-то имел копию CakePHP 2.3.0, и приложение указывало на это. CakePHP имеет известную ошибку, которая вызывает это.

Спасибо всем, кто ответил.

Смежные вопросы