【问题标题】:EMongoCriteria does not have a method named "name"EMongoCriteria 没有名为“name”的方法
【发布时间】:2015-08-26 14:04:54
【问题描述】:

在 yii 应用程序上,我正在从数组创建 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")));

【问题讨论】:

    标签: php mongodb yii conditional-statements criteria


    【解决方案1】:

    答案如下:

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

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

    【讨论】:

    • 您可以使用 EMongoCriteria::OP_EQUALS 作为 == 的常量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2016-11-12
    • 1970-01-01
    相关资源
    最近更新 更多