Zend Framework ライブラリを 1.12 にアップグレードした後、この問題が発生しました。バージョン 1.11 では問題なく動作していました。
問題は、2 つのテーブルを結合したときに、次のエラーが発生したことです。
アプリケーションエラー
例外情報:
メッセージ: 指定されたテーブルには行と同じ列がありません
このエラーは、Zend/Db/Table/Row/Abstract.php (行 356 )から生成されます。
私のテーブル構造
Members:
id (int)
name (varchar)
age (int)
family_id (varchar)
Family:
id (int)
family_type (varchar)
私のモデル:
class Model_Member extends Zend_Db_Table_Abstract
{
public function getAll($params = array())
{
$select = $this->select();
$select->setIntegrityCheck(false);
$select->from("members", array('name', 'family_id'));
$select->join('family', 'family.id = members.family_id', array('family_type'));
$paginator = Zend_Paginator::factory($select);
$paginator->setItemCountPerPage(20);
$paginator->setCurrentPageNumber(1);
$paginator->setPageRange(10);
return $paginator;
}
}
そして、私のビューファイルで
foreach($this->paginator as $row)
{
}