CakePHP - отношения ToMany не работают с UUID - PullRequest
0 голосов
/ 19 января 2012

У меня есть следующий класс модели:

class Property extends AppModel
{
    var $name = 'Property';

    var $hasMany = array(
        'Inventory' => array(
            'className' => 'Inventory',
            'foreignKey' => 'property_id'
        )
    );
}

Моя схема базы данных настроена так, что все поля идентификатора установлены на CHAR (36), так что CakePHP генерирует UUID для каждого объекта.Когда я пытаюсь выполнить поиск объекта «Свойство», он, похоже, не добавляет необходимое объединение для получения каких-либо связанных запасов.У кого-нибудь есть опыт решения этой проблемы?

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 января 2012

UUID не имеют к этому никакого отношения, у меня очень похожая модель и я везде использую UUID.

Технически вам не нужны эти объявления className и foreignKey, так как вы, похоже, следуете соглашению CakePHP:)

Я бы удалил эти строки, проверил бы в вашей базе данных фактические запасы с идентификаторами продуктов. Если нет, опубликуйте find() s, которые вы делаете.

0 голосов
/ 20 января 2012

Ответ оказывается несколько глупым.

Я перенес это из установки CakePHP 2.0 в установку CakePHP 1.3 (не удалось обновить PHP на сервере, который я использовал), и всев моих модельных классах все еще были прописные первые символы.Исправлено изменение файла с Property.php на property.php.

...