我希望有类别和子类别,所以我创建了一个表
类别:id,name,page_id,parent_id
这是我的应用程序/ models / Categories.php模型
<?php
class Application_Model_Categories extends Zend_Db_Table_Abstract
{
protected $_name = 'categories';
protected $_referenceMap = array(
'Pages' => array (
'columns' => 'page_id',
'refTableClass' => 'Application_Model_Pages',
'refColumns' => 'id')
);
}
这是我的应用程序/ models / Pages.php模型
<?php
class Application_Model_Pages extends Zend_Db_Table_Abstract
{
protected $_name = "pages";
protected $_dependentTables = array('categories');
}
然后在我的控制器中我调用模型
$pages = new Application_Model_Pages();
$find = $pages->find(2456);
$current = $find->current();
$categories = $current->findDependentRowset('Application_Model_Categories');
这是有效的,但问题是返回所有类别,我只想要那些parent_id = 0(如果parent_id&gt; 0他们不是类别,是子类别 - 可能我需要一个更合适的表名 - )
此外,我想知道如何生成类别和子类别的数组,以便我也可以返回该信息
答案 0 :(得分:0)
在模型类别中创建一个函数:
public function selectParentCategory($pID)
{
$select = $this->select()->where("parent_id = ?", $pID);
$row = $this->fetchAll($select);
return $row;
}
然后在您的控制器中完成以下操作:
$pID = 2456;
$pages = new Model_Pages();
$pages = $pages->selectParentCategory($pID);
$this->view->pages = $pages;