我在ServiceDetailController中的代码
$users = $this->ServiceDetail->Users->find()->extract('first_name')->where(['position' => 2]);
我收到错误:
调用未定义的方法Cake \ ORM \ ResultSet :: where()
答案 0 :(得分:1)
调试基础:检查被调用对象中是否存在该方法。如果不问自己为什么。然后检查extract()返回什么,你会得到你的答案。你的基本问题,比喻是你在开瓶之前尝试从瓶子里喝水。如果没有结果,你就无法提取。
Extract不会返回查询对象。首先构建您的查询,然后执行它,例如all(),然后在结果对象上调用extract,因为它实现了一个允许您在其上调用extract()的集合。