我有两个型号的模块扩展Zend_Db_Table_Abstract:加入与zend_db_table_abstract类Zend框架
class Departments_Model_Subpages extends Zend_Db_Table_Abstract
{
protected $_name = 'bktg_departments_subpages';
protected $_primary = 'id';
}
class Departments_Model_Departments extends Zend_Db_Table_Abstract
{
protected $_name = 'bktg_departments';
protected $_primary = 'id';
}
通过文档阅读,我想要做的就是这样的事情(显然,错误的):
$depTable = new Departments_Model_Departments();
$subTable = new Departments_Model_Subpages();
$depQuery = $depTable->select()->setIntegrityCheck(false)
->from($depTable, array('id', 'title'))
->join($subTable, array('COUNT(id) as `count`'))
->where('bktg_departments.id = bktg_departments_subpages.parent_id');
我错过了什么?我只是无法将我的头围绕Zend加入,而我正在考虑我最终会写出直接的sql。
谢谢你看看。
编辑
这里就是我与现在的工作:
$depQuery = $depTable->select()->setIntegrityCheck(false)
->from($depTable, array('id', 'title'))
->joinLeft($subTable, 'bktg_departments.id = bktg_departments_subpages.parent_id', array('COUNT(id) as count'))
->order('id DESC')
->group('id');
为我的作品的SQL:
SELECT bktg_departments.id, bktg_departments.title, count(bktg_departments_subpages.id) FROM bktg_departments left join bktg_departments_subpages on bktg_departments.id = bktg_departments_subpages.parent_id group by bktg_departments.id
,我有再生,在Zend的问题。
所以,我有我的参数混了?我非常感谢帮助。 因为我可以将模型作为对象传递,是否有将这些对象用作ON子句或者是否始终需要键入(例如,如果由于某种原因我重命名该表)。 – dbergunder
虽然这没有按预期工作。我想计数subTable的匹配parent_id subTable ID的返回的ID。 – dbergunder