Symfony查詢方法實例小結(jié)
本文實例講述了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();
個人總結(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)框架進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Symfony2框架的PHP程序設計有所幫助。
- Symfony2聯(lián)合查詢實現(xiàn)方法
- Symfony2使用Doctrine進行數(shù)據(jù)庫查詢方法實例總結(jié)
- 高性能PHP框架Symfony2經(jīng)典入門教程
- Symfony2實現(xiàn)從數(shù)據(jù)庫獲取數(shù)據(jù)的方法小結(jié)
- Symfony2學習筆記之模板用法詳解
- Symfony2框架學習筆記之表單用法詳解
- Symfony2框架創(chuàng)建項目與模板設置實例詳解
- symfony2.4的twig中date用法分析
- Symfony2學習筆記之控制器用法詳解
- Symfony2安裝第三方Bundles實例詳解
- Symfony2實現(xiàn)在controller中獲取url的方法
- Symfony2針對輸入時間進行查詢的方法分析
相關(guān)文章
Yii2 rbac權(quán)限控制之菜單menu實例教程
這篇文章主要介紹了Yii2 rbac權(quán)限控制之菜單menu實例教程的相關(guān)資料,需要的朋友可以參考下2016-04-04詳解php中的password_verify?和?password_hash密碼驗證
驗證密碼是否和指定的散列值匹配,password_verify()?與?crypt()?兼容,因此,由?crypt()?創(chuàng)建的密碼散列可以用于?password_verify()?一起使用,這篇文章主要介紹了php的password_verify?和?password_hash密碼驗證,需要的朋友可以參考下2023-08-08tp框架(thinkPHP)實現(xiàn)三次登陸密碼錯誤之后鎖定賬號功能示例
這篇文章主要介紹了tp框架(thinkPHP)實現(xiàn)三次登陸密碼錯誤之后鎖定賬號功能,結(jié)合實例形式分析了基于thinkPHP登陸判斷、標志位運算等操作實現(xiàn)密碼賬號鎖定功能,需要的朋友可以參考下2018-05-05