由于缺乏适当的文件,我遇到了困难 理解“Set :: nest”CakePhp函数。
如果有人能够解释一下,我将不胜感激 以及我的例子如何正确使用它。
假设我有这棵树:
array(
(0) => array(
'Category' => array('name' => 'Cat 1'),
'Course' => array(
'name' => 'Course 1'
),
'Day' => array('date' => '2012-01-01')
),
(1) => array(
'Category' => array('name' => 'Cat 1'),
'Course' => array(
'name' => 'Course 1'
),
'Day' => array('date' => '2012-01-02')
),
(2) => array(
'Category' => array('name' => 'Cat 1'),
'Course' => array(
'name' => 'Course 3'
),
'Day' => array('date' => '2012-01-06')
),
(3) => array(
'Category' => array('name' => 'Cat 2'),
'Course' => array(
'name' => 'Course 2'
),
'Day' => array('date' => '2012-01-02')
),
)
转换为:
array(
'Cat 1' => array(
'Course' => array(
'name' => 'Course 1'
),
'Day' => array(
array('date' => '2012-01-01'),
array('date' => '2012-01-02')
),
'Course' => array(
'name' => 'Course 3'
),
'Day' => array(
array('date' => '2012-01-06')
),
),
'Cat 2' => array(
'Courses' => array(
'name' => 'Course 2'
),
'Day' => array(
array('date' => '2012-01-03')
)
),
)
正如你所看到的那样,它是一种双重嵌套,因为“类别”可以有多个“课程”行,“课程”可以有多个“日”。
我可以循环浏览并手动完成。
所以第一个问题是:我可以用Set :: nest转换它吗? 如果是的话怎么样?
答案 0 :(得分:0)
你所要求的是不可能的。您的数组无效。您需要更改格式以将每个类别作为嵌套数组'cat' => array(array('course 1' => ...), array('course 2' => ...))
print_r(array(
'Cat 1' => array(
'Course' => array(
'name' => 'Course 1'
),
'Day' => array(
array('date' => '2012-01-01'),
array('date' => '2012-01-02')
),
'Course' => array(
'name' => 'Course 3'
),
'Day' => array(
array('date' => '2012-01-06')
),
),
'Cat 2' => array(
'Courses' => array(
'name' => 'Course 2'
),
'Day' => array(
array('date' => '2012-01-03')
)
),
));
输出:
Array
(
[Cat 1] => Array
(
[Course] => Array
(
[name] => Course 3
)
[Day] => Array
(
[0] => Array
(
[date] => 2012-01-06
)
)
)
[Cat 2] => Array
(
[Courses] => Array
(
[name] => Course 2
)
[Day] => Array
(
[0] => Array
(
[date] => 2012-01-03
)
)
)
)