【问题标题】:Show Items list from a given category in cakephp在 cakephp 中显示给定类别的项目列表
【发布时间】:2013-11-12 07:08:42
【问题描述】:

我正在使用 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的文章列表

请帮帮我

【问题讨论】:

标签: cakephp one-to-many


【解决方案1】:

现在我很困惑如何按 /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)));
  }    
}

现在,在您的 categories/index.ctp 中,您将有 $articles 可用。

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

【讨论】:

  • 感谢 Guillmo Mansilla 提供的漂亮的 sn-p.... 现在我可以按给定类别显示文章...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多