查询方式:
$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对于一些替代品。
关于php - 使用别名加入 Zend Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15351160/