【发布时间】:2018-02-07 05:42:21
【问题描述】:
我必须在不同类型的角色中计算学生。
学生角色的 ObjectId 是 ObjectId("57ea5880b5ea6a0650005642")。
public function count_allStudents() {
$list = People::find()->select(['_id','roleid'])->where(['roleid'=>ObjectId("57ea5880b5ea6a0650005642")])->all();
return count($list);
}
但它不检索。问题是ObjectId type。
如何在where 中使用ObjectId?
【问题讨论】:
-
尝试添加转换(字符串) - 像这样:
People::find()->select(['_id','roleid'])->where(['roleid'=> (string)new ObjectId("57ea5880b5ea6a0650005642")])->all() -
你可以用
->count()代替->all() -
ObjectId("57ea5880b5ea6a0650005642")- 这是函数,但它是错误的。对象由关键字newnew ObjectId("57ea5880b5ea6a0650005642")创建