gpt4 book ai didi

mysql - 规范化、类别列表和 Codeigniter

转载 作者:搜寻专家 更新时间:2023-10-30 23:13:59 24 4
gpt4 key购买 nike

我有三个表

文章 enter image description here

类别

enter image description here

和关系表articles_categories

enter image description here

那个表是我使用规范化功能存储我的关系的地方。像这样 enter image description here

我能够执行选择、插入、更新、删除。这是我之前的问题 Insert , Update , Delete -> Normalization & Code Igniter Saving articles and related categories according to normalization

我现在想要实现的是我正在尝试通过类别创建文章列表。像这样

Category Name
- article relating to that category
- article relating to that category
- article relating to that category
- article relating to that category

这是我的 Controller

function category($id)
{
$data['title'] = "View by category";
$data['articles_categories']=$this->articles_categories_model->get_by_id($id);
$data['articles']=$this->articles_model->get();
$data['category_id']=$id;

$data['categories_list']=$this->categories_model->get();
$this->load->view('articles_pages/category',$data);
}

我的观点

<?php
//$category_id;
foreach($articles as $a)
{
foreach($articles_categories as $ac)
{
if($ac['categories_id']==$category_id && $a['id']==$ac['articles_id'])
{
echo $a['title'];
}
}
}
?>

我得不到想要的结果。请帮我。谢谢

最佳答案

由于类别方法将 $id 作为参数,我假设您只想显示单个类别的文章。

您当前正在返回不需要的数据,然后在您的 View 中将其过滤掉。这是低效的(并且随着文章数量的增加可能会成为一个问题),并且这不是 MVC 编程的正确方法。与其返回每篇文章然后过滤数据,不如集中精力在模型中获取正确的数据并将其传递给 View 。

Controller :

function category($id) 
{
$data['title'] = "View by category";
$data['articles'] = $this->articles_model->get_articles_by_category(id);
$data['category_id']=$id;

$data['categories_list']=$this->categories_model->get();
$this->load->view('articles_pages/category',$data);
}

型号:

function get_articles_by_category($id) 
{
$this->db->select('*');
$this->db->from('articles');
$this->db->join('articles_categories', 'articles.id = articles_categories.articles_id');
$this->db->where('articles_categories.categories_id', $id);
$query = $this->db->get();

return $query;
}

在上面我们加入了 articles 表和 articles_categories 表,允许我们从某个类别中获取文章。上面只是一个使用事件记录类的示例,但您可以随意以您喜欢的任何风格重写它。

关于mysql - 规范化、类别列表和 Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com