我的演示控制器(DemoController.php):
<?php
namespace App\Controller;
class DemoController extends AppController
{
public function users()
{
$this->loadmodel('registration');
$result = $this->registration->getAllUsers();
$this->set('user_data',$result)
}
}
?>
我的注册模式(registration.php):
<?php
namespace App\Model;
use Cake\ORM\TableRegistry;
class Registration extends AppModel {
$articles = TableRegistry::get('registration');
public function getAllUsers()
{
return $query = $articles->find();
}
}
?>
我的观点:
path -- src/Template/Demo/users.ctp
但它会收到这样的错误(如下图所示) -
答案 0 :(得分:1)
您的模型应命名为RegistrationsTable
,并且位于src/Model/Table/RegistrationsTable.php
。加载loadModel('Registrations')
。 (它的实体应该命名为Registration
。)要使用custom finder method,请将函数命名为findAllUsers,根据文档修复签名(应该使用两个参数:Query $query, array $options
)并将其称为$this->Registration->find('all_users');
。
为什么要尝试将$articles
变量初始化为注册模型中的注册模型(但在任何函数之外)?太乱了......