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(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Symfony2框架的PHP程序設(shè)計有所幫助。
- Symfony2聯(lián)合查詢實現(xiàn)方法
- Symfony2使用Doctrine進行數(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針對輸入時間進行查詢的方法分析
相關(guān)文章
PHP統(tǒng)計二維數(shù)組元素個數(shù)的方法
數(shù)據(jù)表里面的字段 content 存儲了一個以逗號分割的字符串,最大有20個數(shù),最大數(shù)字為40。比如3,24,33,40類似字樣的數(shù)字序列。其實就是一個保存了多項投票結(jié)果的字段啦?,F(xiàn)在需要統(tǒng)計每個數(shù)字的個數(shù),也就是每個投票項有多少人投了,并排序2013-11-11
Yii2框架制作RESTful風(fēng)格的API快速入門教程
Yii提供了一整套用來簡化實現(xiàn)RESTful風(fēng)格的WebService服務(wù)的API。這篇文章主要介紹了Yii2框架制作RESTful風(fēng)格的API快速入門教程的相關(guān)資料,需要的朋友可以參考下2016-11-11
laravel 解決groupBy時出現(xiàn)的錯誤 isn''t in Group By問題
今天小編就為大家分享一篇laravel 解決groupBy時出現(xiàn)的錯誤 isn't in Group By問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
php對包含html標(biāo)簽的字符串進行截取的函數(shù)分享
這篇文章主要介紹了php對包含html標(biāo)簽的字符串進行截取的函數(shù)分享,相比普通的字符串截取更為強大,用在一些特殊場合,需要的朋友可以參考下2014-06-06

