Категории и подкатегории, используя Zend Framework 1

Я хочу иметь категории и подкатегории, поэтому я создал таблицу

категории: id, имя, 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> 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;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]