Zend framework zend db intersect
Zend_Db_Select对象是否支持相交?。它支持联合(即,$db->select->union($sql1,$sql2)),但是当我查看文档时,没有像intersect这样的方法Zend framework zend db intersect,zend-framework,zend-db,intersect,Zend Framework,Zend Db,Intersect,Zend_Db_Select对象是否支持相交?。它支持联合(即,$db->select->union($sql1,$sql2)),但是当我查看文档时,没有像intersect这样的方法 那么,Zend_Db还有什么其他可能的交叉点呢?我不想这么说,但是Zend_Db_Select不支持任何带有INTERSECT的东西。你必须运用你的聪明才智使之成为可能。您可以扩展Zend\u Db\u Select以添加该功能,或者构建SQL字符串并使用适配器获取记录 通过扩展Zend\u Db\u Selec
那么,Zend_Db还有什么其他可能的交叉点呢?我不想这么说,但是
Zend_Db_Select
不支持任何带有INTERSECT
的东西。你必须运用你的聪明才智使之成为可能。您可以扩展Zend\u Db\u Select
以添加该功能,或者构建SQL字符串并使用适配器获取记录
通过扩展Zend\u Db\u Select
$sql1 = new My_Db_Select($db);
$sql1->from('tbl1');
$sql2 = $db->select();
$sql2->from('tbl2');
$sql1->intersect($sql2); // alternate usage, $sql1->intersect($sql2, $sql3, $sql4);
echo $sql1; // prints SELECT * FROM tbl1 INTERSECT SELECT * FROM tbl2
为了做到这一点,,当通过My\u Db\u Select::intersect
添加对象时,您必须为intersect对象创建一个存储,然后创建My\u Db\u Select::assemble
以首先调用$sql=parent::assemble
,然后循环遍历相交部分,并在每个部分上将每个调用附加到assemble
<代码>foreach($intersect as$select)$sql.='intersect'$选择->组装()代码>