在Symfony2中使用Doctrine ORM查询数据库的常用方法如下:
1. 查询所有:
$em = $this->getDoctrine()->getManager(); $products = $em->getRepository('AppBundle:Product')->findAll();
2. 根据ID查询:
$product = $em->getRepository('AppBundle:Product')->find($id);
3. 条件查询:
$products = $em->getRepository('AppBundle:Product') ->findBy(['isEnabled' => true, 'stock > ?' => 0]);
4. 分页查询:
$products = $em->getRepository('AppBundle:Product') ->findBy(['isEnabled' => true], ['id' => 'DESC'], 10, 20);
第3个参数为 limit,第4个参数为 offset。
5. DQL查询:
$dql = "SELECT p FROM AppBundle:Product p WHERE p.stock > 0 ORDER BY p.price DESC"; $query = $em->createQuery($dql); $products = $query->getResult();
6. 设置参数的DQL查询:
$dql = "SELECT p FROM AppBundle:Product p WHERE p.name LIKE :keyword ORDER BY p.price DESC"; $query = $em->createQuery($dql); $query->setParameter('keyword', '%'.$keyword.'%'); $products = $query->getResult();
7. 关联查询:
$dql = "SELECT p, c FROM AppBundle:Product p JOIN p.category c WHERE c.id = :id"; $query = $em->createQuery($dql); $query->setParameter('id', $id); $products = $query->getResult();
每个元素都是 Product 和 Category 两个对象的关联数组。
这些就是Doctrine ORM在Symfony2中进行数据库查询的主要方法。
Doctrine还支持更高级的查询,包括聚合函数、子查询等,可以满足大部分数据库访问需求。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录