Zend Framework를 사용하여 모델을 만들어 데이터베이스에 레코드를 삽입했습니다. 내 질문은 $this->insert($data)
이후에 다른 테이블에 레코드를 삽입 할 수 있도록 활성 테이블을 어떻게 바꿀 수 있습니까? 나는 다른 Model_DbTable
해야한다고 생각여러 테이블에 삽입 할 모델 내에서 Zend_Db_Table 이름을 변경하는 방법
class Model_DbTable_Foo extends Zend_Db_Table_Abstract
{
protected $_name = 'foo';
public function addFoo($params)
{
$data = array(
'foo' => $params['foo'],
);
$this->insert($data);
$foo_id = $this->getAdapter()->lastInsertId();
$data2 = array(
'bar' => $params['bar']
);
// I need to change the Db Table name here.
$this->insert($data2);
$bar_id = $this->getAdapter()->lastInsertId();
}
}
훌륭한 조언! 나는 모든 거래에 대해 잊어 버렸고, 나는 확실히 그것들을 사용하고 싶다. 감사! – jwhat
고든, 제발 왜 당신이 내 사용자 정의 Model_DbTable_Foo 및 Model_DbTable_Bar 대신 Zend_Db_Table_Abstract로 생성자에 $ foo와 $ bar 캐스트를 입력하고 싶지 설명해 주시겠습니까? – jwhat
MySQL 트랜잭션에 관심이있는 다른 사람들을위한 메모 : 트랜잭션 지원을 위해 MyISAM에서 InnoDB로 DB 유형을 변경해야했습니다. – jwhat