如何进行查询:
$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了解一些替代方案。