我有一个 HABTM 关系,我想从产品表中获取类别表的嵌套数据,例如这个产品数组:
array(
(int) 0 => array(
'id' => (int) 1,
'name' => 'a',
'categories' => array(
(int) 0 => array(
'id' => (int) 1
),
(int) 1 => array(
'id' => (int) 2
)
)
),
(int) 1 => array(
'id' => (int) 2,
'name' => 'b',
'categories' => array(
(int) 0 => array(
'id' => (int) 1
)
)
)
)
这可以用蛋糕吗?
编辑:我将尝试进一步解释我想要做什么。
请耐心等待,我是蛋糕新手,无法掌握它。
我有一个“产品”表:
public $hasAndBelongsToMany = array(
'Category' => array(
'className' => 'Category',
'joinTable' => 'categories_sculptures',
'foreignKey' => 'sculpture_id',
'associationForeignKey' => 'category_id',
'unique' => 'keepExisting'
)
)
和一个类别表:
public $hasAndBelongsToMany = array(
'Sculpture' => array(
'className' => 'Sculpture',
'joinTable' => 'categories_sculptures',
'foreignKey' => 'category_id',
'associationForeignKey' => 'sculpture_id',
'unique' => 'keepExisting'
)
);
和一个类别产品表:
public $belongsTo = array(
'Category' => array(
'className' => 'Category',
'foreignKey' => 'category_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Sculpture' => array(
'className' => 'Sculpture',
'foreignKey' => 'sculpture_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
我想建立一个雕塑的视图表,并在每一行中显示每个雕塑所在的类别(可能不止一个)。由于我是蛋糕新手,所以我不知道该怎么做。如果我只是查询 mysql,我可以使用 group_concat 或嵌套选择来获取此信息,或者通过循环通过第一个数组并通过雕塑键查询 category_sculpture 表并将结果添加到第一个数组来低效。但我想知道以蛋糕方式获得此结果的最佳方法。