在CakePHP中选择字段检索数据

时间:2011-06-17 03:34:23

标签: cakephp select field

我正在尝试从简单表中检索数据并填充选择字段表单。 有两个表,缩略语和主题。

目前我有:
在我的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'); ?>

我不知道为什么这不起作用(它不是在select字段中检索Topic数据)。我下载了一个简单的应用程序,并做了相同的练习,它做得很好。我不知道我错过了什么。

如果我有你的帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的代码似乎都是正确的。如果主题名称没有出现在选择字段中,那么可能是因为数据库表中的字段不正确。

对于Cake,使用主题名称列表自动使用选择,Topic表中必须有一个名为name的字段。

否则,您的控制器中必须存在与此相冲突的其他内容,但我需要查看整个add()方法来确定这一点。