2013-09-25 3 views
1

ZF2 Doctrine2 ODM을 사용하고 MongoRegix를 사용하여 검색하고 있지만 문제는 BS (Hons)와 같은 대괄호가 포함 된 검색어를 검색 할 수 없다는 것입니다. 내 검색어는createQueryBuilder 및 MongoRegix에서 예약 된 문자 사용 방법

$q->addOr($q->expr()->field($columns[$i]['field'])->equals(new \MongoRegex('/.*BS(Hons).*/i'))); 

어떤 의견이라도 궁금하십니까?

+0

Parantehsis이 그룹화에 사용되는 가정이 교리에서 확인할 수있는 것처럼 될 것입니다에 refrence http://docs.doctrine-project.org/en/latest/reference /dql-doctrine-query-language.html –

+0

잘못된 대괄호()가 ORM의 그룹화에 사용되지 않는다면 ODM에도 포함됩니까? – Shahbaz

답변

2

그런데 예약 된 문자는 MongoRegx에서 사용할 수 있습니다.

/.*BS/(Hons/).*/i 

쿼리가

$q->addOr($q->expr()->field($field)->equals(new \MongoRegex('/.*BS/(Hons/).*/i'))); 
+0

그래서 통과 (Hons /)는 BS (Hons) +1이 작동하면 읽히지 않습니다. –