使用别名加入Zend Framework

时间:2013-03-12 00:29:30

标签: php zend-framework join zend-db zend-db-table

如何进行查询:

$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'是加入的表名。

1 个答案:

答案 0 :(得分:2)

根据tipo的值,您无法每行加入不同的表格。 SQL要求在准备查询时修复表,表不能随着从给定列中提取的数据值的发现而改变。

您的设计称为Polymorphic Associations,它是一种非关系设计。在SQL中执行此操作非常尴尬。

有关其他选择,请参阅我的演示文稿Practical Object Oriented Models In SQL