如何在yii2中的where条件中使用mongodb ObjectId值

时间:2018-02-07 05:42:21

标签: php mongodb yii2

我必须把学生算在不同的角色中。

学生角色的ObjectId是ObjectId("57ea5880b5ea6a0650005642")

public function count_allStudents() {
    $list = People::find()->select(['_id','roleid'])->where(['roleid'=>ObjectId("57ea5880b5ea6a0650005642")])->all();
    return count($list);
}

但它没有检索。问题是ObjectId 类型 如何使用ObjectId内的where

1 个答案:

答案 0 :(得分:1)

使用类似这样的东西

public function count_allStudents() {
    $list = People::find()->select(['_id','roleid'])
                    ->where(['roleid'=> new MongoDB\BSON\ObjectId("$mongoId")])
                    ->all();
    return count($list);
}

使用MongoDB命名空间。 http://php.net/manual/en/class.mongodb-bson-objectid.php