【发布时间】:2012-02-06 04:34:08
【问题描述】:
如果您有一个涉及许多连接的复杂 SQL 查询(例如返回带有关联多对多标签的文章),Zend 框架中是否有任何东西可以产生可爱的 CakePHP 风格的数据库结果:
Array
(
[0] => Array
(
[ModelName] => Array
(
[id] => 83
[field1] => value1
[field2] => value2
[field3] => value3
)
[AssociatedModelName] => Array
(
[id] => 1
[field1] => value1
[field2] => value2
[field3] => value3
)
)
)
我不介意它是一个对象而不是一个数组,我只是想知道通过使用 Zend_Db_Table 构建一个 SELECT JOIN 查询是否可以节省一些工作量并获得一些格式良好的结果。
这是我用来构建查询的代码:
$select = $db->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
$select->from('tableName','fieldName')
->join('joinTable', 'joinTable.keyId = tableName.keyId',array())
->where('tableName.userId = ?', $userId);
$resultSet = $db->fetchAll($select);
【问题讨论】:
-
作为一个从 Cake 出身到不得不与 ZF 合作的人,我感受到了您的痛苦,并希望看到您得到的答案。
-
嗯,这当然不是没有选择的,我可以告诉你这么多。继承代码,多么有趣。让我们看看是否有任何反馈。这与我目前看到的差不多:mattmccormick.ca/2010/04/24/…
-
我认为按照我使用 Zend Framework 的速度,我将求助于使用基于 SQL 查询的解决方案,例如 MySQL GROUP_CONCAT stackoverflow.com/questions/2358300/…
-
对于 LEFT JOINS 和 MySQL GROUP_CONCAT,还有一个基于 SQL 的解决方法(尽管从 ZF 的角度来看,它还不能回答这个问题):stackoverflow.com/questions/4455958/…
标签: zend-framework cakephp relational-database zend-db zend-db-table