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()
,而不是结果集对象。