0

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

    App::import('Model', 'SystemMenu');
    $system_menu =& new SystemMenu();

SystemMenu 是在 Model 文件夹中定义的模型。

非常感谢您的帮助。

4

2 回答 2

1

如果你在一个控制器内,你可以做

$this->loadModel('SystemMenus');

并像这样访问模型

$this->SystemMenus->find()->...

如果没有,您可以使用 TableRegistry

$systemMenus = TableRegistry::get('SystemMenus')

访问很简单:

$systemMenus->find()->...

有关更多信息,请参阅https://book.cakephp.org/3.0/en/orm/table-objects.html

请注意,我已将表名更改为复数,因为 CakePHP 3.x 约定指定https://book.cakephp.org/3.0/en/intro/conventions.html

于 2018-09-18T06:34:43.557 回答
0

你可以使用TableRegistry类。

$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();
于 2018-09-18T08:48:46.917 回答