我有一个如下表格,它以多个级别存储类别。
product_categories (id, name, pid, created, modified)
pid = parentID,它是对同一个表的ID的引用。它是0 当它是父类别时。
我不知道如何使用CakePHP中的hasMany和belongsTo关系来配置它。
有关如何使其发挥作用的任何指示?
public $hasMany = array(
'SubCategory' => array(
'className' => 'ProductCategory',
'foreignKey' => 'id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
public $belongsTo = array(
'ProductCategory' => array(
'className' => 'ProductCategory',
'foreignKey' => 'pid',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
答案 0 :(得分:1)
如果您想在一个表格中使用,您可以使用包含id
和parent_id
字段的最简单表格(有些像您一样)并使用find('threaded');
或者
使用TreeBehavior
,它构建在Cake的核心。
对于此解决方案,没有为一个模型使用两个别名/关系。