簡體   English   中英

如何在學說ORM中搜索一個單詞?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM