我正在尝试使用 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();