我使用下面的方法在一個庫類來尋找我的數據庫中的某些標籤:的Symfony2 /學說的QueryBuilder使用andwhere()
public function getItemsByTag($tag, $limit = null)
{
$tag = '%'.$tag.'%';
$qb = $this->createQueryBuilder('c');
$qb->select('c')
->where($qb->expr()->like('c.tags', '?1'))
->setParameter(1, $tag)
->addOrderBy('c.clicks', 'DESC');
if (false === is_null($limit))
$qb->setMaxResults($limit);
return $qb->getQuery()->getResult();
}
這個工程剛剛好。但是:我怎樣才能增加2個額外的變量(其中:審查= 1,啓用= 1)?我嘗試和where(),但我無法弄清楚。
我也發現了這樣的事情:
public function getItems($limit = null)
{
$qb = $this->createQueryBuilder('b')
->select('b')
->add('where', 'b.reviewed = 1')
->add('where', 'b.enabled = 1')
->addOrderBy('b.name', 'ASC');
// ...
}
將無法工作要麼...
任何提示?
謝謝elnur,是addOrderBy()與orderBy()有什麼不同? – Mike 2012-01-18 15:08:24
我相信addOrderBy是用來連接orderBy的邏輯。例如,如果你想要2個orderBy參數,第一個參數是'orderBy',然後是'addOrderBy'。與where子句的作用相同。首先是 - >在哪裏,然後所有以下都寫成' - > addWhere'。 – 2014-01-23 22:26:25