cakephp 4.x 查询以从数据库中获取结果

问题描述

我最近遇到一个问题,我必须在 cakePHP 中进行 find(all) 查询

问题是我无法将模型函数调用到 cakePHP 控制器并在函数添加一个命令,该命令允许我在 cakePHP 中创建一个 find(all) 函数并检索我正在寻找的数据库中的所有行。>

我想做一个简单的查询调用数据库中的数据库表,该表检索匹配查询的表中的行。

public function display(){
    
    $query = $HouseParty->find('all',[
        'conditions' => ['HouseParty.popular >' => 0],'contain' => ['title','image','popular'],'limit' => 6
    ]);
    $results = $query->all();
    var_dump($results);
    
}

还有什么是调用 CakePHP 控制器中的模型的代码。所以控制器知道我们正在从控制器调用模型。所以我们可以与控制器中的模型进行交互,因为我打算将来从同一个控制器多次调用不同的模型。请帮助寻找在这个问题上停留了几天的回复,只是在这里提出一个对其他人也相关且足智多谋的问题。我想向其他社区成员提出一个问题,我只需要获取除我上面提到的代码之外的代码,即我应该编写哪些代码才能在一个控制器中调用模型 - 调用多个模型从一个控制器。上面的代码是否正确,是什么导致它给出如下错误。那么从数据库调用模型的代码是什么。

我得到的错误如下:

在 null 时调用成员函数 find()

解决方法

我认为您应该从基于模型的简单查询开始。

我假设您的模型是 HouseParties(一个名为 house_parties 的数据库表)。

然后在您的 HousePartiesController 中,您可以查询:

$query = $this->HouseParties->find('all',[
    'conditions' => ['popular >' => 0],'limit' => 6
]); 

我认为您可能误用了“包含”作为选择。 “包含”用于相关表,而不是您正在查询的表中的字段。

如果您完整地阅读了 CMS 教程 https://book.cakephp.org/4/en/tutorials-and-examples.html,应该很清楚。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...