Php Zend_Db_Select-获取所有选定的表和列
我们公司使用Zend框架,因此我们使用Zend_Db_Select 现在,我们正在使用它构建一个查询,然后(预取)将其传递给函数。 查询的构建如下所示:Php Zend_Db_Select-获取所有选定的表和列,php,zend-framework,zend-db,zend-db-table,Php,Zend Framework,Zend Db,Zend Db Table,我们公司使用Zend框架,因此我们使用Zend_Db_Select 现在,我们正在使用它构建一个查询,然后(预取)将其传递给函数。 查询的构建如下所示: $select = $this->_selectAll() ->setIntegrityCheck(false) ->joinLeft('shop', $conShop, $colShop) ->joi
$select = $this->_selectAll()
->setIntegrityCheck(false)
->joinLeft('shop', $conShop, $colShop)
->joinLeft('ptool', $conPtool, $colPtool)
->where('ptool.product_id > 0')
->where('ptool.product_is_from_shop = 0')
;
其中$conShop和$colShop类似:
$colShop = array('shop_id','shop_channel');
$conShop = "shop.shop_id = ptool.shop_id";
在一个新方法中,我希望获得所有要选择的联接表及其列。所以$select被传递给该方法,现在我想得到如下内容:
Array
(
['shop'] => Array
(
[0] => 'shop_id',
[1] => 'shop_channel',
...
),
['ptool'] => Array
(
[0] => 'shop_id',
[1] => 'ptool_id',
...
),
...
)
如果我能得到这个预取,那就太好了
背景是我想按shop_id进行排序,例如,这个表名用于两个连接的表中。如果我执行类似“按店铺id订购”的操作,我会得到一个错误,即该列不明确。这就是为什么我需要知道哪些列属于哪个表,这样我就可以执行类似“按商店订购。商店id”的操作
希望你能帮助我。谢谢!:) 如果你能提供一些代码,那么我们可以帮助你嘿,什么代码会有帮助?我将添加一点。您是否检查了
$select
返回的查询<代码>echo$select代码>