Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework zend db intersect_Zend Framework_Zend Db_Intersect - Fatal编程技术网

Zend framework zend db 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_Select对象是否支持相交?。它支持联合(即,$db->select->union($sql1,$sql2)),但是当我查看文档时,没有像intersect这样的方法


那么,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'$选择->组装()