我正在使用CakePHP创建一个服装目录网站。我有两个模型:Store
和Brand
。 Brand
设置为hasAndBelongsToMany
,因为商店可以有许多与之相关的品牌,但很明显,一个品牌可以应用于众多商店。
我有StoresController
个提取商店,但我遇到的问题是在BrandsController
中提取品牌列表。如果我将Brand
模型设置为与hasAndBelongsToMany
模型建立Store
关系,我是否可以不再执行$this->Brand->find('all')
之类的操作?当我这样做时,我收到以下错误:
致命错误:在第8行的/[path]/app/controllers/brands_controller.php中调用未定义的方法Brand :: find()
以下是我的模型定义:
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'
)
);
}
答案 0 :(得分:2)
class Brand扩展了AppModel {
答案 1 :(得分:1)
Class Brand必须扩展您似乎忘记的AppModel