Вопрос

Я пытаюсь сделать довольно простую нахождение 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/Sangeble.php, Line 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

Есть идеи, что может вызвать это?

Это было полезно?

Решение

$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 сама модель?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top