2012-07-20 214 views
0

我正在cakephp 2.0中的一個項目上工作。在這裏,我在我的模型中有一個查詢。cakephp 2.0自定義查詢分頁

$ sql = SELECT Ad . *,Client.name,Keyword.keyword FROM ads Ad INNER JOIN pages Page ON (Ad.page_id = Page.id) INNER JOIN keywords Keyword ON (Page.keyword_id = Keyword.id) INNER JOIN clients Client ON (Keyword.client_id = Client.id) WHERE Ad.archived = 1;

我想使用cakephp的分頁模塊進行分頁。我查看它的文檔和谷歌的其他答案,但無法得到如何實現它。誰能告訴我如何實現它?

+0

請發表您的代碼。所以我可以嘗試糾正它。 – 2012-07-20 07:25:06

+0

我試圖覆蓋我的模型文件中的分頁函數。我通過我的查詢在額外的參數
public function paginate($ conditions,$ fields,$ order,$ limit,$ page = 1,$ recursive = null,$ extra = array()){ return $ this-> query ($額外[ '查詢']); ($ conditions = null,$ recursive = 0,$ extra = array()){ $ this-> recursive = $ recursive; $ results = $ this-> query($ extra ['query']); return $ results; }。它給我內部錯誤。但沒有顯示出錯誤是什麼。 – 2012-07-20 07:43:33

+0

你應該接受一些以前的答案。其他用戶更願意提供建議,如果他們覺得自己有很好的機會得到獎勵 – 2012-07-20 07:49:24

回答

0

This CakePHP documentation page將幫助您達到與您在問題中提到的相同的效果。

+0

我正在嘗試這樣做,但它使用$ this-> find()方法進行自定義分頁。我的問題是我有一個自定義查詢,在許多地方使用。所以如果可能的話,如果我可以使用這個查詢分頁,那麼它會對我有好處,我必須在我的代碼中的許多地方進行更改。 – 2012-07-20 07:56:46

+0

您可以簡單地將該常用方法放入您的AppModel類中。您也可以重命名方法名稱,以便它不會與您已命名的函數的現有用法衝突。你只需要用任何模型調用這個方法,它就可以作爲該模型的類方法。我希望你明白。 – 2012-07-20 07:58:44