2

Zend_Db_Table を拡張するクラスがあります。これを「Users」と呼び、rowClass としてクラス「User」(Zend_Db_Table_Row_Abstract から継承) を使用します。User には私が使用する追加のメソッドがあるため、この方法が必要です。

私の知る限り、Users クラス内でテーブルを結合することはできないため、次を使用します。

$query = $db->select(); $query->from(...); $query->joinInner(...);

それ以外の

$this->select(); ...

しかし、もちろん、取得する行は User クラスのものではありません。したがって、クエリで Row オブジェクトではなく User オブジェクトを返すように強制する方法を知りたいです。

もう 1 つの方法は、Zend_Db_Table にその結合を作成させることです。この場合、必要なものも得られます。

4

1 に答える 1

3

リンクされた複製でDavid Cauntの回答を引用:

Zend_Db_Table は行ゲートウェイ関数を提供しますが、これは他のテーブルに結合すると機能しないため、それを放棄する意思があることを表明する必要があります。に電話をかけるだけsetIntegrityCheckで機能します。

$select->setIntegrityCheck(false);

于 2010-07-15T12:32:20.273 に答える