我可以在cakephp 3.5中执行此解压缩代码查询吗?

时间:2018-02-10 06:34:00

标签: cakephp cakephp-3.x

我在ServiceDetailController中的代码

  $users = $this->ServiceDetail->Users->find()->extract('first_name')->where(['position' => 2]);

我收到错误:

  

调用未定义的方法Cake \ ORM \ ResultSet :: where()

1 个答案:

答案 0 :(得分:1)

调试基础:检查被调用对象中是否存在该方法。如果不问自己为什么。然后检查extract()返回什么,你会得到你的答案。你的基本问题,比喻是你在开瓶之前尝试从瓶子里喝水。如果没有结果,你就无法提取。

Extract不会返回查询对象。首先构建您的查询,然后执行它,例如all(),然后在结果对象上调用extract,因为它实现了一个允许您在其上调用extract()的集合。