EMongoCriteria не имеет метода с именем «имя»

1

В приложении yii я создаю EMongoCriteria из массива следующим образом:

$mongoCriteria["conditions"] = array("name"=>new MongoRegex("/John/i"));
$criteria = new EMongoCriteria($mongoCriteria);

Поскольку я понял, что нет надлежащего способа сделать следующий регистр нечувствительным:

$mongoCriteria["conditions"] = array("name"=>array("==" => "John"));

Вот почему я использую MongoRegex. Также мне нужно, чтобы он "содержал" аналогично оператору LIKE в mysql. По какой-то причине мне приходится сначала создавать условия в массиве, поэтому я не могу использовать это:

$criteria->name = new MongoRegex('/John/i');

Проблема в том, что он не работает и показывает эту ошибку:

EMongoCriteria does not have a method named "name"

Пожалуйста, какие-нибудь идеи?

Я тоже пробовал это, та же проблема:

$mongoCriteria["conditions"] = array("name"=>array("regex" => new MongoRegex("/John/i")));
Теги:
condition
criteria
yii

1 ответ

0

Ответ следующий:

$mongoCriteria["conditions"] = array("name"=>array("==" => new MongoRegex("/John/i")));

Я не знал, что оператор будет работать с регулярным выражением, потому что он не упоминался в документации.

  • 0
    Вы можете использовать EMongoCriteria :: OP_EQUALS как константу для ==

Ещё вопросы

Сообщество Overcoder
Наверх
Меню