Пример #1
0
 /**
  * {@inheritdoc}
  */
 protected function getSearchFields(SearchQueryInterface $search)
 {
     $fields = array('e.constructName', 'ts.name', 'ts.genotype', 'tsvs.name', 'tsvs.genotype');
     if ($search instanceof SearchQuery ? $search->searchNotes() : false) {
         $fields[] = 'e.notes';
     }
     return $fields;
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 protected function getSearchFields(SearchQueryInterface $search)
 {
     $fields = array('e.maleName', 'e.virginName');
     if ($search instanceof SearchQuery ? $search->searchNotes() : false) {
         $fields[] = 'e.notes';
     }
     return $fields;
 }
Пример #3
0
 /**
  * Create DQL expression from search terms
  * 
  * @param VIB\SearchBundle\Search\SearchQueryInterface $search
  * @return \Doctrine\ORM\Query\Expr
  */
 protected function getSearchExpression(SearchQueryInterface $search)
 {
     $eb = $this->getEntityManager()->getExpressionBuilder();
     $expr = $eb->andX();
     foreach ($search->getTerms() as $term) {
         $subexpr = $eb->orX();
         foreach ($this->getSearchFields($search) as $field) {
             $subexpr->add($eb->like($field, '\'%' . $term . '%\''));
         }
         $expr->add($subexpr);
     }
     foreach ($search->getExcluded() as $term) {
         $subexpr = $eb->andX();
         foreach ($this->getSearchFields($search) as $field) {
             $subexpr->add($eb->not($eb->like($field, '\'%' . $term . '%\'')));
         }
         $expr->add($subexpr);
     }
     return $expr;
 }
Пример #4
0
 /**
  * {@inheritdoc}
  */
 protected function getSearchFields(SearchQueryInterface $search)
 {
     $fields = array('e.name', 'e.genotype');
     if ($search instanceof SearchQuery ? $search->searchNotes() : false) {
         $fields[] = 'e.notes';
     }
     if ($search instanceof SearchQuery ? $search->searchVendor() : false) {
         $fields[] = 'e.vendorId';
     }
     return $fields;
 }