本文整理匯總了PHP中Set::nest方法的典型用法代碼示例。如果您正苦於以下問題:PHP Set::nest方法的具體用法?PHP Set::nest怎麽用?PHP Set::nest使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Set
的用法示例。
在下文中一共展示了Set::nest方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testMissingParent
/**
* test Set nest with no specified parent data.
*
* The result should be the same as the input.
* For an easier comparison, unset all the empty children arrays from the result
*
* @return void
*/
public function testMissingParent()
{
$input = array(array('id' => 1), array('id' => 2), array('id' => 3), array('id' => 4), array('id' => 5), array('id' => 6), array('id' => 7), array('id' => 8), array('id' => 9), array('id' => 10));
$result = Set::nest($input, array('idPath' => '/id', 'parentPath' => '/parent_id'));
foreach ($result as &$row) {
if (empty($row['children'])) {
unset($row['children']);
}
}
$this->assertEquals($input, $result);
}
示例2: _findThreaded
/**
* In the event of ambiguous results returned (multiple top level results, with different parent_ids)
* top level results with different parent_ids to the first result will be dropped
*
* @param mixed $state
* @param mixed $query
* @param array $results
* @return array Threaded results
*/
protected function _findThreaded($state, $query, $results = array())
{
if ($state === 'before') {
return $query;
} elseif ($state === 'after') {
$parent = 'parent_id';
if (isset($query['parent'])) {
$parent = $query['parent'];
}
return Set::nest($results, array('idPath' => '/' . $this->alias . '/' . $this->primaryKey, 'parentPath' => '/' . $this->alias . '/' . $parent));
}
}