アプリケーションを 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();
テーブル名は business と users です。モデルは次のように定義されます。
class Model_Business extends ORM
エラーは言う -
Database_Exception [1054]: 'where 句' の列 'businesses.id' が不明です
私はこれを(上記のように更新することで)修正できましたが、今、私が得た新しいエラーは「ロードされたオブジェクトでメソッドfind()を呼び出すことはできません」です。
モデル自体で find_all() を使用できないようです。私の現在のプロジェクトでは、すべてのクエリのモデルから結果を返します。つまり、アップグレードではほとんどすべてのコードを変更する必要があります。これに対する回避策はありますか?