我想在Doctrine Mongo ODM中编写一个查询,该查询在两个或多个字段中由正则表达式进行搜索.在sql中,它将如下所示:
SELECT * FROM user WHERE name LIKE %search% OR surname LIKE %search%;
我可以为这样一个字段写一个查询:
$qb->field('surname')->equals(new \MongoRegex('/.*'.$this->search.'.*/i'));
但是当我尝试搜索更多的领域时,我感到失落.
感谢任何帮助
实际上很简单,发现这个问题后我发现了5分钟
$qb->addOr($qb->expr()->field('surname')->equals(new \MongoRegex('/.*'.$this->search.'.*/i'))); $qb->addOr($qb->expr()->field('name')->equals(new \MongoRegex('/.*'.$this->search.'.*/i')));