萨姆耶 / yii2-pq
此包的最新版本(1.0.0)没有可用的许可证信息。
一个针对 Yii2 的分页查询类,用于处理 mysqlnd 中的 PHP7 变更
1.0.0
2016-10-04 14:42 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 20:04:00 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 之后,我的许多 cronjob 失败了。不久我就意识到,从 PHP5.4以来有两个变化
- PHP7使用的默认MySQL驱动程序已更改为 mysqlnd
- 并且,mysqlnd 现在将您的 结果集添加到它自己的内存中,缓冲查询
除此之外,我还注意到未缓冲的查询很糟糕,所以我创建了它。