Найти на модели, которая установлена ​​как hasAndBelongsToMany - PullRequest
0 голосов
/ 08 сентября 2011

Я создаю сайт каталога одежды с CakePHP.У меня есть две модели: Store и Brand.Brand настроен как hasAndBelongsToMany, так как в магазине может быть много брендов, связанных с ним, но очевидно, что бренд может относиться ко многим магазинам.

У меня есть StoresController, выбирающие магазины как следует, но у меня проблемы с получением списка брендов в моем BrandsController.Если я установлю для моей модели Brand отношения hasAndBelongsToMany с моей моделью Store, могу ли я больше делать что-то вроде $this->Brand->find('all')?Когда я получаю, я получаю следующую ошибку:

Неустранимая ошибка: вызов неопределенного метода Brand :: find () в /[path]/app/controllers/brands_controller.php в строке 8

Вот определения моей модели:

class Brand {    
    var $hasAndBelongsToMany = array(
        'Store' => array(
            'className' => 'Store',
            'joinTable' => 'brands_stores',
            'foreignKey' => 'brand_id',
            'associationForeignKey' => 'store_id',
            'unique' => true
        )
    );
}

И моя Store модель:

class Store extends AppModel {
    var $hasMany = array(
        'Reviews' => array(
            'className' => 'StoreReview',
            'foreignKey' => 'store_id',
            'conditions' => array(
                'approved' => 1
            ),
            'order' => 'created DESC'
        )
    );
}

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Бренд класса расширяет AppModel {

1 голос
/ 09 сентября 2011

Class Brand должен расширять AppModel, о которой вы, кажется, забыли

...