我正在尝试进行分页,但出现错误:
[语法错误] 第 0 行,第 57 列:错误:预期的字符串结尾,得到“限制”
我不太确定这是否是进行查询的正确语法(和逻辑):
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();
}
Friends和users关联manyToOne和oneToMany,所以在friends表中有一个字段——user_id。
这是在我的控制器中:
$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);
我知道这很愚蠢甚至是错误的(尤其是第三个参数 be $page*$FR_PER_PAGE
),但我只是想尝试一下查询是否有效,但它没有。