我在cakephp中非常陌生,我必须将一个Cake项目从版本1.1升级到3.6。我不知道如何将这些代码行转换为cakephp 3.6:
App::import('Model', 'SystemMenu');
$system_menu =& new SystemMenu();
SystemMenu是在“模型”文件夹中定义的模型。
非常感谢您的帮助。
答案 0 :(得分: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
答案 1 :(得分:0)
You can use TableRegistry
class.
$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();