gpt4 book ai didi

symfony - Doctrine 中的 Dql 选择 vs sql 查询

转载 作者:行者123 更新时间:2023-12-02 14:08:18 25 4
gpt4 key购买 nike

在 Doctrine 中的“select”语句中使用 DQL 与 native sql 相比有什么好处?

例如

     $qb = $em->getRepository('repositoryname')->createQueryBuilder('r);
$qb->someDqlCondition();
$qb->getQuery()->getResult();

对比

     $sql = 'string with SELECT sql statement'
$query = $em->->createQuery($sql)
$query->getResult();

我和同事讨论过,他说原生sql更好。我认为 dql 使我们能够更改数据库驱动程序。使用 dql 还有其他好处吗?性能怎么样?

最佳答案

<强> Doctrine Query Language (DQL) 就像查询的抽象。这使得查询独立于项目所基于的 (SQL) 数据库的版本或类型。

来自文档:

You need to think about DQL as a query language for your object model, not for your relational schema.

这还意味着(就像 @Matteo 在他的评论中所说的那样)您可以更轻松地将项目移植到另一种类型,而无需重写所有查询。

使用 the doctrine QueryBuilder 将这种抽象提升到一个新的水平。

关于symfony - Doctrine 中的 Dql 选择 vs sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33932415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com