2012-07-20 195 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