zendframework のsetIntegrityCheck無効メモ

※2回も先輩に聞いてしまったので、メモします。

zendframeworkで、SQLを書く際、
なぜか、->joinや->joinLeftが
setIntegrityCheckの制約でエラーになってしまうのでメモ。

        //$select_search=$dao->select()->setIntegrityCheck(false);
        $select_search = $dao->select();
        $select_search->from(array("T"=>"TEST_TABLE"));
	$select_search->joinLeft(array("H"=>"HOGE"),"T.TEST_ID=H.TEST_ID");
        $this->whereTrack($select_search);
        $this->initPaginator($select_search);

        $select_search=$dao->select()->setIntegrityCheck(false);
        //$select_search = $dao->select();
        $select_search->from(array("T"=>"TEST_TABLE"));
	$select_search->joinLeft(array("H"=>"HOGE"),"T.TEST_ID=H.TEST_ID");
        $this->whereTrack($select_search);
        $this->initPaginator($select_search);

fetchRowでlimitが使えなかった。

zendframework でfetchRowにlimitを使おうとおもい、下記のようなコードを流したのですが、
fetchRowだけあって使えなかった。。のでメモ。
1件だけ取得するだけでなく、limitの開始を制御したいだけなのに動きませんでした。しょうがなくfetchAll使いました。

$ins->select()->where("ID=?",$this->getRequest()->getParam("id"))->order("FILE_ID ASC")->limit(1,$this->getRequest()->getParam("2"));

zendメールのヘッダ情報設定時の注意点

zendでaddHeaderでヘッダ情報を設定する際、一斉送信などの場合は_clearHeaderしてあげないと同じ情報が追加されてしまいます。

parent::_clearHeader('X-Mailer');    //addHeaderで複数メール送信した際に、X-Mailerが複数ヘッダに追加されてしまうのでクリア
parent::addHeader('X-Mailer', 'ZendMail');
parent::send();