在 Cakephp 中对临时表进行分页?
假设我有一个名为“产品”的表和名为“产品”的模型。
'products' 表有 3 个字段 id、title、price、created
按 cal_price 排序
我想计算 cal_price (每个记录和搜索日期各不相同)并创建一个包含 4 个字段的临时表,即 id、title、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
sort 'temp_table' order by cal_price and paginate
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') 并解决问题*
Let say I have a table named 'products' and Model named 'Product'.
'products' table has 3 fields id,title,price,created
I want to calculate cal_price (which varies per record and day of search) and create a temporary table with 4 fields i.e. id,title,price,cal_price with order by cal_price
Now, all I want is to paginate this temporary table.
using $this->paginate();
eg.
table_products
id title price created
3 demo1 23 2011-12-12
4 demo2 43 2011-12-13
56 demo3 26 2011-12-16
sort 'temp_table' order by cal_price and paginate
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
*The underlying problem to the solution is HOW DO I assign temp_table to a model at run time because once I do it I can use $this->paginate('temp_model') and solve the problem*
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您遵守 表名称的约定,因此“temp_table”不起作用,因为名称必须是复数。
假设您的临时表名为“temp_prices”(我没有在表上使用前缀)
,模型的名称应为“TempPrice”。要对表格进行分页,请在控制器上使用它祝你
好运
you dont need a model for your temporary table if you have respected the conventions for the tables' names, so "temp_table" wont work, cause the name must be plural.
Let's say that your temporary table is called "temp_prices" (i'm not using prefixes on tables)
,the name of the Model should be "TempPrice". To paginate the table use this on your controller
Good Luck