CakePHP的集團的問題..CakePHP的集團通過在PAGINATE問題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個值(根據限制)。 如果我評論由線組,那麼所有的記錄都顯示(包括重複的值)
$this->paginate = array(
'conditions' => $conditions,
'contain'=>array(
'UserFrom'=>array(
'fields'=>array(
'UserFrom.id',
'UserFrom.first_name',
'UserFrom.last_name',
),
),
'UserTo'=>array(
'fields'=>array(
'UserTo.id',
'UserTo.first_name',
'UserTo.last_name',
)
)
),'limit' => 12,
'order' => array('Friend.id' => 'desc'),
'recursive'=>0,
'fields'=>array('DISTINCT Friend.user2_id','Friend.*'),
'group'=>array('UserTo.id'),
);
這是網頁
SELECT COUNT(*)AS count
FROM friends
AS Friend
LEFT JOIN在我的SQL查詢users
AS UserTo
ON(Friend
。user2_id
= UserTo
。id
)LEFT JOIN users
AS UserFrom
ON(Friend
。user1_id
= UserFrom
。id
)WHERE UserFrom
。 nick_name
='shyam'AND Friend
。 status
='朋友'GROUP BY UserTo
。 id
SELECT DISTINCT Friend
。 user2_id
,Friend
。*,UserTo
。 id
,UserTo
。 first_name
,UserTo
。 last_name
,UserTo
。 nick_name
,UserTo
。 name
,UserTo
。 icon_medium
,UserTo
。 icon_big
,UserFrom
。 id
,UserFrom
。 first_name
,UserFrom
。 last_name
,UserFrom
。 nick_name
,UserFrom
。 name
FROM friends
AS Friend
LEFT JOIN users
AS UserTo
ON(Friend
。user2_id
= UserTo
。id
)LEFT JOIN users
AS UserFrom
ON(Friend
。user1_id
= UserFrom
。id
)WHERE UserFrom
。 nick_name
='shyam'AND Friend
。 status
='朋友'GROUP BY UserTo
。 id
ORDER BY Friend
。 id
desc LIMIT 12
1.首先查詢返回計數正確 2.第二個查詢,如果我把限制它不能正常工作。即有144條記錄在我的表,我需要顯示12每頁..未來只有第一頁,如果我通過使用組和限制
您應該將SQL查詢轉儲添加到問題中('echo $ this-> element('sql_dump')'在您的視圖中) – lxa
yes添加了sql轉儲。請幫我找到解決方案 – AnNaMaLaI
「我需要每頁顯示12個..只有第一頁來了,如果我使用group by和limit」:我不明白你有什麼問題(??) –