CakePHP无法获取属于多个数据的数据

CakePHP无法获取属于多个数据的数据,cakephp,cakephp-4.x,Cakephp,Cakephp 4.x,我有以下几张桌子 service_categories users users_service_categories 我已经在UsersTable中创建了以下关系 $this->belongsToMany('ServiceCategories',[ 'foreignkey' => 'user_id', 'targetForeignKey' => 'service_category_id', 'joinTable' => 'users_

我有以下几张桌子

service_categories
users
users_service_categories
我已经在UsersTable中创建了以下关系

$this->belongsToMany('ServiceCategories',[
      'foreignkey' => 'user_id',
      'targetForeignKey' => 'service_category_id',
      'joinTable' => 'users_service_categories',
]);
许多数据都保存得很好

在控制器索引方法中,我在下面编写了查询

$users = $this->Users->find('all')
          ->contain(['UserTypes', 'ServiceCategories']);
我只获取服务类别id,而不是服务类别关联数据

用于服务类别中的id 3和6数据

在调试sql日志中获取的查询


我将如何在此处获取服务类别详细信息?

问题:是否存在ID为3和6的服务类别?我看到它们在连接表中,但在实际的服务类别表中?3和6存在于服务类别表中。在我看来,它应该可以工作。若手动运行该查询,是否会得到预期的结果?@GregSchmidt我在查看页面中为单个用户获得了所需的输出。但并非所有用户都在索引页中。实体对象不太可能完全为空,因为它们有许多默认属性和值。空对象(除非它们确实没有可转储的属性/值)通常是引用,因为调试器只转储同一个对象一次以避免递归,重复的对象将显示为空(但通常带有
id:n
作为指向输出中完全转储对象的链接)。展开所有用户以检查相同的实体是否存在于其他地方。还可以尝试转储
$users->toArray()
,而不是结果集对象。