cakephp - 如何仅按一列获取与组关联的数据?
问题描述
我在postgres
.
ChatMessages
ChatReactions
ChatReactionTypes
我正在尝试明智地获取用户反应列表消息。像这个例子。此模式按消息明智地打开:
我在 CakePHP 查询生成器中尝试了以下查询:
$this->ChatMessages->find()
->contain([
'ChatReactions.ChatReactionTypes',
])
->contain('ChatReactions', function($q) {
$q->select([
'chat_message_id',
'chat_reaction_type_id',
'count' => $q->func()->count('chat_reaction_type_id')
])
->innerJoinWith('ChatReactionTypes')
->group(['chat_reaction_type_id', 'chat_message_id']);
return $q;
})
->order([
'ChatMessages.created' => 'ASC',
])
->all()
;
这是结果:
(chat_reactions
上图中标记为红色的)对象按reaction_type_id 分组。我希望将所有users
与该 id 关联的内容放在chat_reactions
.
解决方案
推荐阅读
- authentication - 如何刷新令牌而不必再次通过身份验证?OAuth2
- python - 尝试在python中按位和两个列表
- javascript - 三元语句不返回正确的数据
- spring - CDI 注入:java.lang.Class 无法转换为 java.lang.reflect.ParameterizedType
- javascript - 如何在 React Native 中实现嵌套拖放?
- php - Laravel 中间件页面权限
- c# - 让 Assert 等待第一个计时器滴答声
- javascript - 无法使用地图迭代器显示标记
- postgresql - 如何在 PostgreSQL 中联合所有
- android - 在相对布局 Android 中适合大小