Kohana 3.3中的未知列错误

时间:2013-01-17 05:13:44

标签: php kohana

我将我的申请从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()。在我当前的项目中,我们从模型中返回所有查询的结果。这意味着,升级将需要更改几乎所有代码。有没有解决方法呢?

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用business.id?

答案 1 :(得分:0)

自Kohana 3.1以来,ORM字段始终返回别名。如果它是$_has_many,则为复数,如果它是$_has_one$_belongs_to,则它是单数。如果要确保型号名称,请将$_object_name设置为所需的值