在cakephp中显示给定类别的项目列表

时间:2013-11-12 07:08:43

标签: cakephp one-to-many

我正在开发一个带有cakephp 2.4的新闻门户网站。 我有2张桌子(类别和文章) 现在我想通过以下链接显示给定类别的文章:http://mydomain/category/2

我的类别模型:

class Category extends AppModel {

var $name = 'Category';

var $hasMany = array('Article');
 }

我的文章模型:

class Article extends AppModel {
var $name = 'Article';

var $belongsTo = Array('Category');

文章管理员:

class ArticlesController extends AppController {
var $name = 'Articles';

var $scaffold;

function lists()
 {
    $this->Article->recursive = 1;
     $myCat = $this->Category->find('all', array('order' => 'Category.id ASC'));
     return $this->Article->lists($myCat);

     }
}

我的类别控制器:

class CategoriesController extends AppController {

var $name = 'Categories';
var $scaffold;

function index()
  {
      $this->Category->recursive = 1;
    $this->set('showCat', $this->Category->find('all'));

  }
}

现在我很困惑如何通过http://mydomain/category/2

显示文章列表

请帮帮我

1 个答案:

答案 0 :(得分:0)

  

现在我很困惑如何通过/ mydomain / category / 2

显示文章列表

在您的类别控制器

function index($categoryId = null) {
  $this->Category->recursive = 1;
  if ($categoryId) {
    $this->set('articles', $this->Category->Article->find('all', array('conditions' => array('Article.category_id' => $categoryId)));
  }    
}

现在,在您的类别/ index.ctp中,您将有$文章可用。

<?php 
if (isset($articles)) {
  //etc etc