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)框架進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Symfony2框架的PHP程序設(shè)計有所幫助。
- Symfony2聯(lián)合查詢實現(xiàn)方法
- Symfony2使用Doctrine進(jìn)行數(shù)據(jù)庫查詢方法實例總結(jié)
- 高性能PHP框架Symfony2經(jīng)典入門教程
- Symfony2實現(xiàn)從數(shù)據(jù)庫獲取數(shù)據(jù)的方法小結(jié)
- Symfony2學(xué)習(xí)筆記之模板用法詳解
- Symfony2框架學(xué)習(xí)筆記之表單用法詳解
- Symfony2框架創(chuàng)建項目與模板設(shè)置實例詳解
- symfony2.4的twig中date用法分析
- Symfony2學(xué)習(xí)筆記之控制器用法詳解
- Symfony2安裝第三方Bundles實例詳解
- Symfony2實現(xiàn)在controller中獲取url的方法
- Symfony2針對輸入時間進(jìn)行查詢的方法分析
相關(guān)文章
Laravel框架學(xué)習(xí)筆記(一)環(huán)境搭建
本文主要是把自己學(xué)習(xí)Laravel框架中的經(jīng)驗寫下來。這是本系列的第一篇,工欲善其事必先利其器,先把環(huán)境搭建好吧,之前也沒寫過什么文章,可能文章結(jié)構(gòu)比較混亂,想到那寫到哪。2014-10-10
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-08
tp框架(thinkPHP)實現(xiàn)三次登陸密碼錯誤之后鎖定賬號功能示例
這篇文章主要介紹了tp框架(thinkPHP)實現(xiàn)三次登陸密碼錯誤之后鎖定賬號功能,結(jié)合實例形式分析了基于thinkPHP登陸判斷、標(biāo)志位運(yùn)算等操作實現(xiàn)密碼賬號鎖定功能,需要的朋友可以參考下2018-05-05

