0

我正在尝试使用 Containable 行为做一个相当简单的 CakePHP 查找:

$comp = $this->Comp->find('first', array(
    'conditions' => array('Comp.id' => $id),
    'contain' => array(
        'Comp.id' => array(
            'fields' => array('Comp.id'),
        ),
        'Slot' => array(
            'fields' => array(
                'Slot.start_time',
                'Slot.end_time'
            )
        ),
        'Team'
    )
));

...但在执行时会显示警告:

警告 (512):模型“Comp”与模型“Comp”无关 [CORE/cake/libs/model/behaviors/containable.php,第 363 行]

我的 Comp 模型的开始如下:

var $name = 'Comp';
var $hasMany = array('Team', 'Round', 'Match');
var $belongsTo = array('Generation');
var $hasAndBelongsToMany = array('Slot');
var $actsAs = array('Containable');

我正在使用 CakePHP 1.3.6

有什么想法可能导致这种情况吗?

4

1 回答 1

2
$comp = $this->Comp->find('first', array(
    'conditions' => array('Comp.id' => $id),
    'fields'     => array('Comp.id'),
    'contain'    => array(
        'Slot'       => array(
            'fields'     => array(
                'Slot.start_time',
                'Slot.end_time'
            )
        ),
        'Team'
    )
));

你告诉contain了相关的Comp.id,这意味着与Comp相关的模型Comp,它不存在。您可能只想简单地设置模型本身的fields选项?Comp

于 2011-01-20T02:44:14.423 回答