gpt4 book ai didi

sql - Symfony2/Doctrine 查询生成器或 SQL - 使用 LIKE 语句时首选哪种方式?

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

我正在尝试使用 LIKE 语句创建查询。下面的两个例子都有效,但是哪一个是更好的方法呢?有没有一种比另一种更安全?或者,表现更好?一个符合最佳实践的?还有别的吗?只是想知道...另外,也许有一种完全不同的方式来执行我不知道的 LIKE 操作?

示例 1:

 $em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'SELECT u.user1lname FROM MySiteMyBundle:User u WHERE u.user1lname LIKE :searchTerm ORDER BY u.user1lname ASC'
)->setParameter('searchTerm', $searchTerm.'%');

$result = $query->getResult();

示例 2:

$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder();
$result = $qb->select('n.user1lname')->from('MySite\MyBundle\Entity\User', 'n')
->where($qb->expr()->like('n.user1lname', $qb->expr()->literal($searchTerm.'%')))
->getQuery()
->getResult();

最佳答案

没有区别。

所有查询生成器所做的就是创建 DQL,然后将其传递。
尝试查看:死($qb->getDQL());

我使用查询构建器,因为我发现它比构建字符串更容易,而且您可以共享部分查询。但最终结果是一样的。

关于sql - Symfony2/Doctrine 查询生成器或 SQL - 使用 LIKE 语句时首选哪种方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282764/

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