CakePHP 3-依赖深度关联
我有三个表CakePHP 3-依赖深度关联,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我有三个表用户,活动和视频 他们的关系就像 users->hasMany('campaigns'); campaigns->hasMany('videos'); 我想要的是选择所有用户并统计他们的视频记录 我可以根据特定的表进行筛选,就像我可以在$this->videos->find()上计算视频记录一样 但是如何计算CakePHP 3中的深度关联?例如,在用户上? 我想要什么 User object => [ 'email' => 'email@example
用户
,活动
和视频
他们的关系就像
users->hasMany('campaigns');
campaigns->hasMany('videos');
我想要的是选择所有用户并统计他们的视频
记录
我可以根据特定的表进行筛选,就像我可以在$this->videos->find()
上计算视频
记录一样
但是如何计算CakePHP 3中的深度关联?例如,在用户上
?
我想要什么
User object => [
'email' => 'email@example.com'
'name' => 'My Name'
'post_videos_count' => 10
]
User object => [
'email' => 'email2@example.com'
'name' => 'User 2'
'post_videos_count' => 50
]
其中email
和name
字段来自Users
和post\u videos\u count
包含相关视频的计数。可能&:
可能&:
使用计数器缓存行为。这是一个高效且最简单的解决方案
使用计数器缓存行为。这是一个高效且最简单的解决方案
不,我不想统计
活动
的数量,但想统计视频
哪些属于活动
哪些属于用户
。不,我不想统计活动
的数量,而是视频
哪些属于活动
哪些属于用户
。可能是同样的可能你给出了一个如何在controllerDid中实际使用它的示例你真的阅读了我链接的页面吗?我不这么认为,因为这显然是不同的。阅读手册!甚至我的回答都是行为。你能举个例子说明如何在controllerDid中实际使用它吗?你真的阅读了我链接的页面吗?我不这么认为,因为这显然是不同的。阅读手册!甚至我的回答都是行为。
$query = $users->find()->contain(['Campaigns' => ['Videos' => function ($q) {
return $q->count('Video.id');
}]]);