如何在CakePHP3.x中编写这些代码行

如何在CakePHP3.x中编写这些代码行,cakephp,cakephp-3.6,Cakephp,Cakephp 3.6,我是cakephp新手,我必须将cake项目从1.1版升级到3.6版。我不知道如何将这些代码行转换为cakephp 3.6: App::import('Model', 'SystemMenu'); $system_menu =& new SystemMenu(); SystemMenu是在model文件夹中定义的模型 非常感谢您的帮助。如果您在控制器内,您可以这样做 $this->loadModel('SystemMenus'); 然后像这样访问模型 $this

我是cakephp新手,我必须将cake项目从1.1版升级到3.6版。我不知道如何将这些代码行转换为cakephp 3.6:

    App::import('Model', 'SystemMenu');
    $system_menu =& new SystemMenu();
SystemMenu是在model文件夹中定义的模型


非常感谢您的帮助。

如果您在控制器内,您可以这样做

$this->loadModel('SystemMenus');
然后像这样访问模型

$this->SystemMenus->find()->...
如果没有,您可以使用TableRegistry

$systemMenus = TableRegistry::get('SystemMenus')
访问也很简单:

$systemMenus->find()->...
有关更多信息,请参阅

请注意,我已将表名更改为复数,因为CakePHP 3.x约定指定可以使用TableRegistry类


料仓/蛋糕烘焙模型系统菜单,料仓/蛋糕烘焙单元系统菜单,在显示方法中加载模型并进行查询,在display.ctp模板中实现结果。使用模板…您的解决方案为我节省了很多时间,非常感谢。
$system_menu = \Cake\ORM\TableRegistry::get('SystemMenu');

//new entity
$entity = $system_menu->newEntity();

//get entity by id 
$entity = $system_menu->get(2);

//Save entity
$system_menu->save($e);

// finder 
$menu = $system_menu->find()->toArray();