मैं भंडार कक्षा में निम्न विधि का उपयोग कर रहा मेरी डेटाबेस में कुछ टैग के लिए देखने के लिए: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)? मैंने कोशिश की और कहीं भी() लेकिन मैं इसे समझ नहीं पाया।
मैं भी पता चला कि कुछ इस तरह:
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() आदेश से कोई अलग है()? – Mike
मेरा मानना है कि addOrderBy का उपयोग किया जाता है, आप ऑर्डर के लिए तर्क को जोड़ रहे हैं। उदाहरण के लिए यदि आप 2 ऑर्डर बाई पैरामीटर चाहते थे, तो पहले 'ऑर्डरबी' होगा, इसके बाद 'addOrderBy' होगा। जहां खंड के समान काम करता है। पहला है -> कहां, तो निम्नलिखित सभी लिखे गए हैं '-> addWhere'। –