Cakephp中的Paginate TEMPORARY TABLE?

时间:2011-01-19 07:48:05

标签: php cakephp model pagination temp-tables

假设我有一个名为'products'的表和名为'Product'的模型。

'products'表有3个字段id,title,price,created

我想计算cal_price(每个记录和搜索日不同)并创建一个包含4个字段的临时表,即id,title,price,cal_price,按cal_price排序

现在,我想要的只是对这个临时表进行分页。

使用$ this-> paginate();

例如

table_products

 id    title    price   created
 3      demo1    23     2011-12-12
 4      demo2    43     2011-12-13
 56     demo3    26     2011-12-16

按cal_price和paginate

排序'temp_table'顺序
temp_table

 id    title    price   cal_price created
 3      demo1    23        12       2011-12-12
 4      demo2    43        43       2011-12-13
 56     demo3    26        88       2011-12-16

*解决方案的根本问题是如何在运行时将temp_table分配给模型,因为一旦我这样做,我可以使用$ this-> paginate('temp_model')并解决问题*

1 个答案:

答案 0 :(得分:0)

如果你已经尊重了conventions表的名字,你就不需要临时表的模型,因此“temp_table”不会起作用,因为名称必须是复数。

假设您的临时表名为“temp_prices”(我没有在表上使用前缀) ,Model的名称应为“TempPrice”。要对表格进行分页,请在控制器上使用它

$this->loadModel('TempPrice'); //will load the model on the controller
$this->paginate['TempPrice'] = array(); //you can change the pagination options here
$resp = $this->paginate('TempPrices');

祝你好运