Symfony查詢方法實(shí)例小結(jié)
本文實(shí)例講述了Symfony查詢方法。分享給大家供大家參考,具體如下:
1. createQuery的寫法
$sql = 'SELECT COUNT(DISTINCT(g.goodsId)) FROM AppBundle:GoodsIndex g WHERE g.status = :status'; $params = array( 'status' => GoodsIndex::STATUS_NORMAL, ); if (!empty($keywords)) { $params['keywords'] = "%{$keywords}%"; $sql .= ' AND g.keywords like :keywords '; } if (!empty($warehouseIdList)) { $params['warehouseIdList'] = $warehouseIdList; $sql .= " AND g.warehouseId IN :(warehouseIdList)"; } $goodsNum = $this->entityManager->createQuery($sql)->setParameters($params)->getSingleScalarResult();
個(gè)人總結(jié)::是指占位符的意思,防止sql注入。所以把所有需要的參數(shù)做成數(shù)組$params里面。
2. getQuery的寫法
$orderBy = 'p.'.$searchOptions['orderBy']; $repository = $this->entityManager ->getRepository('AppBundle:GoodsIndex'); $query = $repository->createQueryBuilder('p'); $query->select('DISTINCT(p.goodsId)'); $query->where('p.keywords like :keywords') ->setParameter('keywords', "%{$searchOptions['keywords']}%") ->andwhere('p.status = :status') ->setParameter('status', GoodsIndex::STATUS_NORMAL) ->orderBy($orderBy, $searchOptions['order']) ->setFirstResult($pagination['pageSize'] * ($pagination['page'] - 1)) ->setMaxResults($pagination['pageSize']); if (!empty($searchOptions['warehouseIdList'])) { $query->andWhere($query->expr()->in('p.warehouseId', $searchOptions['warehouseIdList'])); } $goodsIndexList = $query->getQuery()->getResult();
更多關(guān)于Symfony相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Symfony框架入門教程》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Symfony2框架的PHP程序設(shè)計(jì)有所幫助。
- Symfony2聯(lián)合查詢實(shí)現(xiàn)方法
- Symfony2使用Doctrine進(jìn)行數(shù)據(jù)庫(kù)查詢方法實(shí)例總結(jié)
- 高性能PHP框架Symfony2經(jīng)典入門教程
- Symfony2實(shí)現(xiàn)從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的方法小結(jié)
- Symfony2學(xué)習(xí)筆記之模板用法詳解
- Symfony2框架學(xué)習(xí)筆記之表單用法詳解
- Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置實(shí)例詳解
- symfony2.4的twig中date用法分析
- Symfony2學(xué)習(xí)筆記之控制器用法詳解
- Symfony2安裝第三方Bundles實(shí)例詳解
- Symfony2實(shí)現(xiàn)在controller中獲取url的方法
- Symfony2針對(duì)輸入時(shí)間進(jìn)行查詢的方法分析
相關(guān)文章
Laravel框架學(xué)習(xí)筆記(一)環(huán)境搭建
本文主要是把自己學(xué)習(xí)Laravel框架中的經(jīng)驗(yàn)寫下來。這是本系列的第一篇,工欲善其事必先利其器,先把環(huán)境搭建好吧,之前也沒寫過什么文章,可能文章結(jié)構(gòu)比較混亂,想到那寫到哪。2014-10-10Yii2 rbac權(quán)限控制之菜單menu實(shí)例教程
這篇文章主要介紹了Yii2 rbac權(quán)限控制之菜單menu實(shí)例教程的相關(guān)資料,需要的朋友可以參考下2016-04-04PHP對(duì)接微信公眾平臺(tái)消息接口開發(fā)流程教程
這篇文章主要介紹了PHP對(duì)接微信公眾平臺(tái)消息接口開發(fā)流程,如何使用PHP版接口操作公眾平臺(tái)消息,需要的朋友可以參考下2014-03-03詳解php中的password_verify?和?password_hash密碼驗(yàn)證
驗(yàn)證密碼是否和指定的散列值匹配,password_verify()?與?crypt()?兼容,因此,由?crypt()?創(chuàng)建的密碼散列可以用于?password_verify()?一起使用,這篇文章主要介紹了php的password_verify?和?password_hash密碼驗(yàn)證,需要的朋友可以參考下2023-08-08Thinkphp中的volist標(biāo)簽用法簡(jiǎn)介
通常volist標(biāo)簽多用于查詢數(shù)據(jù)集(select方法)的結(jié)果輸出,通常模型的select方法返回的結(jié)果是一個(gè)二維數(shù)組,對(duì)此可以直接使用volist標(biāo)簽進(jìn)行輸出2014-06-06tp框架(thinkPHP)實(shí)現(xiàn)三次登陸密碼錯(cuò)誤之后鎖定賬號(hào)功能示例
這篇文章主要介紹了tp框架(thinkPHP)實(shí)現(xiàn)三次登陸密碼錯(cuò)誤之后鎖定賬號(hào)功能,結(jié)合實(shí)例形式分析了基于thinkPHP登陸判斷、標(biāo)志位運(yùn)算等操作實(shí)現(xiàn)密碼賬號(hào)鎖定功能,需要的朋友可以參考下2018-05-05最新制作ThinkPHP3.2.3完全開發(fā)手冊(cè)
本文給大家分享的是作者花了3個(gè)多小時(shí)制作完成的ThinkPHP3.2.3完全開發(fā)手冊(cè),非常的細(xì)致全面,有需要的小伙伴可以參考下2015-11-11