首页 > 解决方案 > CodeIgniter4 模型返回数据结果

问题描述

我开始涉足 CI4 的 rc... 试图成为游戏的领导者。我注意到模型被完全重写了。

通过他们的文档,我需要一些关于如何在 CI4 中启动等效数据库查询构建器的指导。

我能够利用 return $this->findAll() 等...但是,需要能够查询 w/复杂的连接,并且还能够返回单个记录等...

当尝试类似

return $this->orderBy('import_date', 'desc')
      ->findColumn('import_date')
    ->first();

但出现错误:

Call to a member function first() on array

任何帮助或指导表示赞赏。

标签: php-7php-7.2codeigniter-4

解决方案


假设您有一个模型实例化为

$userModel = new \App\Models\UserModel;

现在您可以使用它来获得类似的查询构建器。

$builder = $userModel->builder();

使用此构建器查询任何内容,例如

$user = $builder->first();

来到你的错误。

return $this->orderBy('import_date', 'desc')
      ->findColumn('import_date');

findColumn总是返回一个数组或 null。所以你不能用它作为对象。相反,您应该执行以下操作。

return $this->orderBy('import_date', 'desc')->first();

推荐阅读