You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter4中使用first()/findAll()报Unknown column错误原因咨询

问题原因及解决方案
  • 核心原因:你在已开启软删除的模型中,手动添加了'suppression' => null的查询条件,而模型本身会自动通过软删除作用域添加WHERE adresses_facturation.suppression IS NULL的过滤规则。当两者同时存在时,若模型的表名配置、字段名存在拼写/大小写差异,或者查询构建器对重复条件的解析出现冲突,就会触发"Unknown column"错误。

  • 为什么get()->getRow()正常?
    大概率是你改用该方法时,移除了手动添加的'suppression' => null条件,此时模型仅通过自动作用域添加正确的过滤规则,因此查询正常。若你是直接使用数据库查询构建器(而非模型方法),则绕过了模型的软删除作用域,手动指定的条件直接对应数据库字段,也能正常运行。

解决方案

直接移除手动添加的'suppression' => null条件即可,开启软删除的模型会自动过滤已标记为删除的记录:

public function getAdresse(int $idAdresse): ?object
{
    return $this->where(['idFacturation' => $idAdresse])->first();
}

内容的提问来源于stack exchange,提问作者Steven Marchive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:27:08