ultimate-guitar / yii2-pq
此包的最新版本(1.1.1)没有提供许可证信息。
为Yii2提供分页查询类,以处理mysqlnd在PHP7中的更改
1.1.1
2023-05-29 11:41 UTC
Requires
- php: >=5.5.0
This package is not auto-updated.
Last update: 2024-09-19 16:35:17 UTC
README
为Yii2提供分页查询类,以处理mysqlnd在PHP7中的更改
它将以与使用OFFSET
和LIMIT
进行分页相同的方式加载数据集。
此扩展99%适用于MySQL用户。
安装
只需将其包含在您的composer中
php composer require "sammaye/yii2-pq":"~1.0.0"
使用方法
$query = (new \sammaye\pq\Query)
->from(Title::tableName())
->where('live=1')
->limit(300)
->orderBy(['id' => SORT_DESC]);
foreach($query->each() as $k => $v){
并且将以每批100到300条记录返回。
如您所见,除了如何包含它之外,这个扩展没有多少可以学习的内容。
注意:由于PHP类继承和包含的特性,目前此查询没有活动记录部分,这意味着我必须完全复制ActiveQuery
。
为什么?
我注意到许多我的计划任务在升级到PHP7后失败了。不久我就意识到,自PHP5.4以来有两处更改
- PHP7使用的默认MySQL驱动程序已更改为mysqlnd
- 此外,mysqlnd现在将您的结果集添加到其自己的内存中,缓冲查询
加上我自己观察到的无缓冲查询很糟糕,所以我创建了它。