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"; }