【问题标题】:CakePhp 3.4 User table records not gettingCakePhp 3.4 用户表记录没有得到
【发布时间】:2017-02-23 14:36:56
【问题描述】:

我正在尝试从用户表中获取所有记录,如下代码:

$this->loadModel('User');
$users_list = $this->User->find('all');
pr($users_list);

但结果页面显示如下:

Cake\ORM\Query Object
(
  [_hasFields:protected] => 
  [_autoFields:protected] => 
  [_hydrate:protected] => 1

... 继续很多行

我写错了吗?... 提前致谢

【问题讨论】:

  • 您能详细说明一下这个问题吗?关系如何?表名和表结构是什么?

标签: php cakephp-3.4


【解决方案1】:

对于 CakePhp3 应该是:

$this->loadModel('Users');
$users_list = $this->Users->find('all');

您也可以使用 TableRegistry:

use Cake\ORM\TableRegistry;
$usersTable= TableRegistry::get('Users');
$users_list = $usersTable->find('all');

看这里:

1.Loading Model in CakePhp3

2.Using TableRegistry

您所做的将用于 CakePhp2。

【讨论】:

  • 我用过你的代码:写在下面加载之前类使用 Cake\ORM\TableRegistry;在控制器函数中编写以下代码: $usersTable= TableRegistry::get('Users'); $users_list = $usersTable->find('all');但没有变化...得到相同的结果
  • 鉴于输出显示 $users_list 是一个查询对象,看起来 OP 实际上是在使用适当的表对象进行操作。不遵循命名约定确实有效,即使不建议这样做(也可能只是示例中的错字)。实际的问题似乎是 OP 不了解有关查询对象、延迟评估等方面的新 ORM 基础知识。
猜你喜欢
  • 2021-05-10
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 2016-08-12
  • 1970-01-01
相关资源
最近更新 更多