在CakePHP 2.x中,Tree Behaviour上有一个名为getPath()
的方法,它允许您从树顶部获取给定节点的路径。
例如$this->Navigation->getPath(33)
给我一个数组,显示如何从顶部到达树的节点33.
我有一些数据放在CakePHP 2.x内置的应用程序中,但另一个应用程序是在CakePHP 3.x中构建的,需要读取这些数据。
我已按如下方式配置 3.x 应用程序:
// src/Model/Table/NavigationsTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
class NavigationsTable extends Table {
public function initialize(array $config)
{
$this->addBehavior('Tree');
}
}
控制器正在尝试使用getPath()
方法:
// in src/Controller/NavigationsController.php
$Navigations = TableRegistry::get('Navigations');
$nav_query = $Navigations->getPath(33);
debug($nav_query);
这会显示错误消息:
未知方法“getPath”
我认为这是因为getPath()
不在CakePHP 3.x的树行为中。是否有一些相同的功能呢?我在文档中看不到它。
答案 0 :(得分:3)
路径检索已移至查找程序string(20) "Hello world, guest!
"
查找程序:
path
另见