gpt4 book ai didi

symfony - 在 Doctrine2 查询中使用 Limit 和 Offset

转载 作者:行者123 更新时间:2023-12-03 05:52:35 26 4
gpt4 key购买 nike

我正在尝试进行分页,但出现错误:

[Syntax Error] line 0, col 57: Error: Expected end of string, got 'limit'

我不太确定这是否是进行查询的正确语法(和逻辑):

public function getFriendsFromTo ($user, $limit, $offset)
{
return $this->getEntityManager()
->createQuery('SELECT f FROM EMMyFriendsBundle:Friend f WHERE f.user='.$user.' limit '.$limit. 'offset' .$offset)
->getResult();
}

好友和用户是manyToOne和oneToMany相关的,所以在好友表中有一个字段——user_id。

这是在我的 Controller 中:

$user = $this->get('security.context')->getToken()->getUser();
$id = $user->getId();

$friends = $user->getFriends();
$result = count($friends)
$FR_PER_PAGE = 7;
$pages = $result/$FR_PER_PAGE;

$em = $this->getDoctrine()->getEntityManager();
$friends = $em->getRepository('EMMyFriendsBundle:Friend')
->getFriendsFromTo($id, $FR_PER_PAGE, $page*$FR_PER_PAGE);

我知道这是愚蠢的,甚至是错误的(尤其是第三个参数是 $page*$FR_PER_PAGE),但我只是想尝试一下查询是否有效,但没有。

最佳答案

不。使用:

  return $this->getEntityManager()
->createQuery('...')
->setMaxResults(5)
->setFirstResult(10)
->getResult();

关于symfony - 在 Doctrine2 查询中使用 Limit 和 Offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12198046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com