クエリの実行方法:
$name = $this->_dbTable->info('name');
$result = $this->_dbTable->select()->from($name)->setIntegrityCheck(false);
$result->join(array('t' => "$name.tipo")), "t.id = $name.id");
'$name.tipo' は、結合するテーブル名です。
クエリの実行方法:
$name = $this->_dbTable->info('name');
$result = $this->_dbTable->select()->from($name)->setIntegrityCheck(false);
$result->join(array('t' => "$name.tipo")), "t.id = $name.id");
'$name.tipo' は、結合するテーブル名です。
の値によっては、行ごとに異なるテーブルに参加することはできませんtipo
。SQL では、クエリを準備するときにテーブルを修正する必要があります。特定の列からフェッチされたデータ値が検出されると、テーブルは変更できません。
あなたのデザインはPolymorphic Associationsと呼ばれ、非リレーショナル デザインです。これを SQL で行うのは非常に厄介です。
いくつかの代替案については、私のプレゼンテーションPractical Object Oriented Models In SQLを参照してください。