Выберите поле в CakePHP для извлечения данных - PullRequest
0 голосов
/ 17 июня 2011

Я пытаюсь извлечь данные из простой таблицы и заполнить форму выбора поля. Есть две таблицы, Сокращения и Темы.

В настоящее время у меня есть:
В моем acronyms_controller (метод add ()):

$topics = $this->Acronym->Topic->find('list');
$this->set(compact('topics'));

В моем сокращении (модель):

var $belongsTo = array(
        'Topic' => array(
            'className' => 'Topic',
            'foreignKey' => 'topic_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );

В моей теме модель:

var $hasMany = array(
        'Acronym' => array(
            'className' => 'Acronym',
            'foreignKey' => 'topic_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'exclusive' => '',
            'finderQuery' => '',
            'counterQuery' => ''
        )
    );

в моем Акрониме добавить вид:

<?php echo $this->Form->input('topic_id'); ?>

Я не знаю, почему это не работает (это не получение данных Темы в поле выбора). Я скачал простое приложение и сделал то же самое упражнение, и оно очень хорошо. Я не знаю, что мне не хватает.

Буду признателен, если у меня будет ваша помощь.

1 Ответ

0 голосов
/ 17 июня 2011

Ваш код кажется правильным. Если имя темы не отображается в поле выбора, возможно, это связано с тем, что поле в таблице базы данных неверно.

Чтобы Cake автоматически пользовался популярностью выбора с помощью списка названий тем, в вашей таблице Topic должно быть поле с именем name.

В противном случае в вашем контроллере должно быть что-то еще, конфликтующее с этим, но мне нужно увидеть весь метод add(), чтобы определить это.

...