我使用zend框架1.12。我有以下查詢來運行。zend框架子查詢
"SELECT name,(select count(*) from org_quote_template_items where org_quote_template_items.quote_template_id = org_quote_templates.`id`) as total_line_item FROM `org_quote_templates`"
在我的模型文件中,我是這樣創建的。以下是我的模型文件。
class default_Model_DbTable_QuoteTemplates extends Zend_Db_Table_Abstract
{
/**
* Name of the original db table
*
* @var string
*/
protected $_name = 'org_quote_templates';
public function getAllTemplate($where){
$select = $this->select();
$subquery = " (SELECT COUNT(*) FROM org_quote_template_items WHERE org_quote_template_items.quote_template_id = org_quote_templates.`id`)";
$select->from(array($this), array('org_quote_templates.*','total_line_items' => new Zend_Db_Expr($subquery)));
$select = $select->where('organization_id = ?',$where['org_id']);
$adapter = new Zend_Paginator_Adapter_DbSelect($select);
$paginator = new Zend_Paginator($adapter);
$paginator->setItemCountPerPage(
Zend_Registry::get('config')->paginator->general);
pr($adapter);
exit;
}
}
我在運行代碼時出現跟隨錯誤。 「異常'Zend_Db_Table_Select_Exception'帶消息'Select query can not join with another table'」
請讓我知道我該怎麼辦?
好吧,最後我去加入表,但我的需要是,如果有可能寫子查詢,那麼它會很好。 –
看到我的更新。 - – akond
謝謝@akond,這個作品:)。 –