【问题标题】:Unknown column error in Kohana 3.3Kohana 3.3 中的未知列错误
【发布时间】:2013-01-17 05:13:43
【问题描述】:

我将我的应用程序从 Koahana 3.0.1 升级到了 Kohana 3.3。它在 Koahana 3.0.1 中正常工作。但是,在 Kohana 3.3 中,出现未知列错误。以下是我在业务模型中使用的查询。

$biz = $this->where('business.id','IN',$arr)
       ->join('users','LEFT') 
   ->select(array('users.id','u'))
   ->on('users.business_id','=','business.id')  
   ->find_all();

表名是企业和用户。模型定义为

class Model_Business extends ORM  

错误提示 -

Database_Exception [1054]:“where 子句”中的未知列“businesses.id”

我可以解决这个问题(通过如上更新)但是,现在我得到的新错误是 - “方法 find() 不能在加载的对象上调用”。

看起来我们不能在模型本身中使用 find_all()。在我当前的项目中,我们从模型中返回所有查询的结果。这意味着,升级将需要更改几乎所有代码。有什么解决方法吗?

【问题讨论】:

  • 请发布完整的错误信息。
  • 看起来您的企业 -> 企业别名由于某种原因导致了问题

标签: php kohana


【解决方案1】:

你用businesss.id试过了吗?

【讨论】:

  • 企业正在解决问题...我可以解决它,但很快我发现两个版本都有重大变化,升级就像为最新版本编写相同的代码一样好。
【解决方案2】:

从 Kohana 3.1 开始,ORM 字段总是返回别名。如果是$_has_many,它是复数,如果它是一个$_has_one$_belongs_to,它是单数。如果您想确保模型名称,请将$_object_name 设置为您想要的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    相关资源
    最近更新 更多