brainsonic / doctrine-sqlserver-extensions
此包的最新版本(dev-master)没有可用的许可证信息。
为 Doctrine 提供的 SQL Server 特定扩展,使生活更轻松
dev-master
2016-01-14 20:56 UTC
Requires
- php: >=5.3.2
- doctrine/orm: ~2.4.0
This package is not auto-updated.
Last update: 2024-09-24 02:44:07 UTC
README
为 Doctrine 提供的 SQL Server 特定扩展,使生活更轻松。
此存储库的目的是在使用 SQL Server 时作为 Doctrine 库的测试平台。
仅支持 SQL Server 2005,因为许多功能需要 2000 年代之前不可用的函数,并且我希望避免使用重型预编译语句。
此存储库中的所有类仅在一些基本场景中进行了测试。
SQL Server Sql 输出遍历者
本意是为了替换 ORM 中提供的标准 SqlWalker。这避免了在 SQLServerPlatform.php
中使用 doModifyLimitQuery()
,这仅使用正则表达式处理就极其复杂。
目前没有设置默认输出遍历者的方法,因此必须通过提示来指定遍历者。
<?php $query->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, 'DoctrineSqlServerExtensions\ORM\Query\AST\SQLServerSqlWalker');
分页器
分页器旨在成为 Doctrine 2.2.x 中包含的分页器的 1:1 替代品。
<?php use DoctrineSqlServerExtensions\ORM\Tools\Pagination\Paginator; $dql = "SELECT p, c FROM BlogPost p JOIN p.comments c"; $query = $entityManager->createQuery($dql) ->setFirstResult(0) ->setMaxResults(100); $paginator = new Paginator($query, $fetchJoinCollection = true); $c = count($paginator); foreach ($paginator as $post) { echo $post->getHeadline() . "\n"; }