【发布时间】:2017-03-26 01:04:53
【问题描述】:
我正在尝试进行一个查询,该查询必须结合来自 2 个不同表的信息,但我遇到了逻辑问题。
这是我的表格,我排除了一些不相关的信息
post(groupId, dateCreated)
postbump(userId, postId)
我正在尝试获取“趋势”的帖子。换句话说,我需要获取
的帖子在给定的组中,(由$groups数组提供)
在给定日期之后,(由 $date 提供)
按凹凸数量排序
这是我正在构建的功能,它只会获取新帖子,但它可能有助于了解我所追求的目标。请注意,我拥有的代码的当前存储库是 post 存储库(对于那些不熟悉 symfony 查询构建器的人来说,它基本上意味着它会自动从 post 表中选择)。
public function getNewHomeFeedPosts($groups){
$qb = $this->repository->createQueryBuilder('x');
$qb->select('x');
$qb->where('x.groupId IN (:groups)');
$qb->setParameter('groups',$groups);
$qb->orderBy('x.dateCreated','DESC');
return $qb->getQuery()->getResult();
}
这是我到目前为止所拥有的,我真正的问题在于按每个帖子的颠簸量排序。我认为在某些时候必须使用连接。
public function getTrendingHomeFeedPosts($groups, $date){
$qb= $this->repository->createQueryBuilder('x');
$qb->select('x');
$qb->where('x.groupId IN (:groups) AND x.dateCreated < :dateCreated');
$qb->setParameter('groups',$groups);
$qb->setParameter('dateCreated', $date);
//todo
return $qb->getQuery()->getResult();
}
如果您不熟悉 querybuilder 语法,那么用 SQL 回答就可以了。
【问题讨论】:
-
in运算符中的绑定似乎不正确。 -
绑定是什么意思?第一段代码按描述工作,所以我不知道您可能指的是什么问题。