paginate中按问题分组的CAKEPHP

paginate中按问题分组的CAKEPHP,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,在paginate中按问题分组 这是我的桌子结构 Friends Table `id` int(11) NOT NULL AUTO_INCREMENT, `user1_id` int(11) NOT NULL DEFAULT '0',--> UserFrom `user2_id` int(11) NOT NULL DEFAULT '0',---> UserTo 我需要获得一个用户和他的user1_id=100的所有唯一记录 user2_id中有很多重复的值。我需要获取

在paginate中按问题分组

这是我的桌子结构

 Friends Table
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user1_id` int(11) NOT NULL DEFAULT '0',--> UserFrom
  `user2_id` int(11) NOT NULL DEFAULT '0',---> UserTo
我需要获得一个用户和他的user1_id=100的所有唯一记录

user2_id中有很多重复的值。我需要获取唯一的值 当我尝试这段代码时,它只返回前12个值(根据限制)。 如果我逐行注释组,则显示所有记录(包括重复值)

这是我在该页面上的sql查询

选择COUNT(*)AS
COUNT
FROM
friends
AS
friends
LEFT JOIN
users
AS
UserTo
ON(
friends
user2\u id
id
)LEFT JOIN
users
AS
UserFrom
ON(
Friend
user1\u id
UserFrom
id
)其中
UserFrom
nick\u name
=“shyam”和
Friend
状态
=“Friend”组由
UserTo
id

选择不同的
Friend
user2\u id
Friend
*,
UserTo
UserTo
first\u name
UserTo
姓氏
UserTo
尼克\code>姓名,
UserTo
用户名,
图标
使用rTo
图标
用户来源
id
用户来源
名字,
用户来源
姓氏,
用户来源
尼克,
用户来源
朋友姓名作为
朋友
作为
合作用户加入
用户de>ON(
Friend
user2\u id
=
UserTo
id
)左加入
用户
作为
UserFrom
ON(
Friend
用户1\u id
UserFrom
id
)其中
UserFrom
nick\u name
='shyam'和
Friend
状态
='Friend'组由
UserTo
id
ORDER BY
Friend
描述限制12

1.第一次计数查询正确返回计数
2.如果我设置了限制,则第二次查询它是否工作不正常。例如,我的表中有144条记录,我需要每页显示12条。如果我使用group by和limit,则只显示第一页。您应该使用
DISTINCT
group by by
,而不是两者都使用-它们相互重复,可能会导致您的问题您的查询。请删除其中一个,然后重试

注意:如果要手动请求使用
$this->paginate()
的第1页以外的页面,请将带有页码的
'page'
参数添加到
$this->paginate
数组中,如下所示:

$this->paginate = array_merge($this->paginate, array('page' => $pageNumber);

但是,通常您不想这样做,因为只要您在视图中使用分页控件(请参阅),paginator就会自动执行此操作(通过URL参数将
page
变量传递给您的操作)。

您应该将SQL查询的转储添加到问题中(
echo$this->element('SQL_dump')
)是,添加了sql转储。请帮助我找到解决方案“我需要每页显示12个。如果我使用group by和limit,则只显示第一页”:我不明白您有什么问题(?)当我使用group by并将其限制为仅显示前12条记录时..因此不会进行分页。我需要一个解决方案来使用分页选项获取唯一记录
$this->paginate = array_merge($this->paginate, array('page' => $pageNumber);