EMongoCriteria没有名为" name"

时间:2015-08-26 14:04:55

标签: php mongodb yii conditional-statements criteria

在yii app上,我正在从数组创建EMongoCriteria,如下所示:

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

据我所知,没有正确的方法可以使以下不区分大小写:

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

这就是我使用MongoRegex的原因。此外,我需要做它"包含"类似于mysql中的LIKE运算符。出于某种原因,我必须先在数组中创建条件,所以我不能使用它:

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

问题是它无效并显示此错误:

EMongoCriteria does not have a method named "name"

请有任何想法吗?

我也试过这个,同样的问题:

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

1 个答案:

答案 0 :(得分:0)

答案如下:

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

我不知道==运算符会使用正则表达式,因为文档中没有提到它。