我需要提供很多包含的困难请求,但我不了解如何过滤包含的结果。
我的表就是这样:
菜单 HasMany Sousmenus
Sousmenus HasMany Droits
Droits BelongsToMany 角色
角色 BelongsToMany 服务
我知道Services_id,我希望菜单中包含Sousmenus包含Droits包含的角色:
与我的Service_id链接的角色
与这些角色相关的Droits
苏斯梅纳斯与这些计划有关联
和链接到此sous_menus的菜单。
很难解释。
编辑:我试过了,但它不起作用:
$menus = TableRegistry::get('Menus');
$query = $menus->find()->contain(['Sousmenus.Droits.Roles.Services'])->matching('Sousmenus.Droits.Roles.Services', function ($q) {
return $q->where(['Services.id' => 6]);
});