![](/img/trans.png)
[英]Doctrine 2 ORM - Search in oneToMany relation (QueryBuilder)
[英]How to search a word in doctrine ORM?
我想知道這是否可能在學說ORM symfony。 我有一個產品清單。 每個產品都有一個標題。 讓他們的頭銜是:
1. Great Mango
2. Show Mango
3. King Mango
我用這個學說來找到標題
$repository->findByTitle("Mango");
但我什么都沒顯示 如果我完成標題搜索它像“國王芒果”。 它顯示但不是帶有MANGO字的列表。
我用這個鏈接作為參考。 但如果您有更多關於此的文檔。 我很高興從中吸取教訓。
魔術方法僅適用於精確搜索。 要使用LIKE
語句,您必須創建自己的存儲庫,如下所述: http : //symfony.com/doc/current/doctrine/repository.html
擁有自己的存儲庫類后,創建一個在查詢中使用LIKE
的方法:
public function findByTitlePart($title)
{
return $this->getEntityManager()
->createQuery(
'SELECT p FROM AppBundle:Product p WHERE p.title LIKE :title'
)
->setParameter('title', '%' . $title . '%')
->getResult();
}
要在where子句中使用like
,必須使用帶有setParameter
where
條件。 查詢如下:
$title = 'Mango';
$query = $repository->createQueryBuilder('a')
->where('a.title LIKE :title')
->setParameter('title', '%'.$title.'%')
->getQuery();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.