如何解决Doctrine querybuilder 不适用于我在 PHP 中的 SQL 语句
请原谅我,我对编程还很陌生。
基本上,我试图运行 sql 语句而不使其容易受到 sql 注入的影响
我尝试运行我的代码,但这里有问题:
$manager = this->getDoctrine()->getManager();
$builder = $manager->getRepository('AppBundle:User')->createqueryBuilder('u');
$builder->select('*')
->from('home_users','u')
->where(u.username LIKE :pattern');
$query = $builders->getQuery();
$query->setParameter('pattern',"%pattern%");
$users = $query->getResult();
我正在尝试使用本指南中的 Doctrine QueryBuilder:https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/reference/query-builder.html
任何帮助将不胜感激
解决方法
-
为您提供解决方案
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
-
您可以对 Evolution Reutilisation、干净代码和最佳实践进行一些改进
-
在用户存储库中
$pattern ="You pattern her"; $manager = this->getDoctrine()->getManager(); $userRepo = $manager->getRepository('AppBundle:User'); $queryBuilder = $userRepo->createQueryBuilder('u'); $queryBuilder->select('u') ->where('u.username LIKE :pattern') ->setParameter('pattern','%'.$pattern.'%'); $users = $queryBuilder->getQuery()->getResult();
-
在控制器中
public function findUsersLikePattern(string $pattern = null) { $queryBuilder = $this->createQueryBuilder('u') ->select('u'); if ($pattern) { $queryBuilder ->where('u.username LIKE :pattern') ->setParameter('pattern','%' . $pattern . '%'); } return $queryBuilder->getQuery()->getResult(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。