如何从 ci4 模型调用 affected_rows 方法

How to call affected_rows method from ci4 model

我有一个扩展 CI4 内置模型的模型..

use CodeIgniter\Model;
use CodeIgniter\I18n\Time;

class ArticleModel extends Model { .. }

知道如何执行以下操作吗?

$this->db->affected_rows();

想到删除一行后得到,大部分例子使用自定义模型,没有扩展ci4模型。

首先,请务必在 app/Config/App.php 或 .env 文件中正确设置数据库连接。
然后来自 CI4 核心模型的 $this->db 不会创建连接。您必须先创建它,然后才能执行查询。

affected_rows() 方法在 CI4 中不存在,现在称为 affectedRows()。所以要称呼它,你最终会想出这样的东西:

    // your db connection
    $this->db = \Config\Database::connect();
    // your query
    $this->db->query('MY QUERY');
    // number of affected rows
    $affected_rows = $this->db->affectedRows();

从上面的答案中添加,可能通过从 CI4 模型中获取构建器来完成,因为该模型已经有一个数据库连接。

例如:

$model = new ArticleModel();
$builder = $model->builder();
$builder->db->affectedRows(); // this return