【发布时间】:2014-07-28 19:44:26
【问题描述】:
我正在尝试制作餐厅菜单,我必须有 Categories 和 Subcategories,因此我创建了以下表格:
Table: Categories
ID
NAME
Table: Subcategories
ID
NAME
PRICE
DESCRIPTION
CATEGORIES_ID
我正在使用 wanwizard 的 Codeigniter 和 DataMapper PHP。所以目前我有一些版本的 2 foreach 循环,但问题是当我添加一个新的 SUBCATEGORY 并且只出现最后一个时,所以它没有列出该类别的所有子类别错了吗?
public function index()
{
$categories = new Category_model();
$subcategories = new Subcategory_model();
$categories->get();
$subcategories->get();
$recent_categories = array();
foreach ($categories as $category)
{
foreach($subcategories as $subcategory)
{
if($subcategory->categories_id == $category->id)
{
$single_category = array
(
'category_name' => $category->name,
'subcategory_name' => $subcategory->name,
'subcategory_description' => $subcategory->description,
'subcategory_price' => $subcategory->price,
);
}
}
array_push($recent_categories, $single_category);
}
$data = array
(
'categories' => $recent_categories,
);
$this->parser->parse('templates/content_menu', $data);
}
这是风景:
{categories}
<div class="grid-12 ourmenu">
<!-- MENU TITLE -->
<h2>{category_name}</h2>
<hr/>
<!-- MENU ITEM -->
<h4>
<a class="clb-photo" href="<?php echo site_url('design/images/photos/food.jpg'); ?>">
{subcategory_name}
</a>
<span>{subcategory_price}</span>
</h4>
<p>{subcategory_description}</p>
</div>
{/categories}
【问题讨论】:
-
你把我弄丢了... 所以目前我有一些版本的 2 个 foreach 循环,但问题是当我添加一个新的 SUBCATEGORY 并且只有最后一个出现是“2 foreach 循环的某个版本?”而“只出现最后一个”——最后一个出现在哪里?您是否检查了数据库以查看它是否存在?您需要更清楚地说明您的问题陈述
-
看我给出的代码。当我添加一个新的 SUBCATEGORY 并进入视图并查看结果时,我只看到最后一个条目而前一个条目消失了。所以它看起来像这样:--CATEGORY-- -- SUBCATEGORY-- --CATEGORY-- -- SUBCATEGORY-- 我必须有多个 SUBCATEGORY 但它只显示一个
-
当你在这个页面打印 $data 时你只得到最后一条记录?
-
我只得到 SUBCATEGORY 的最后一条记录,否则 CATEGORIES 就应该在那里。检查 FOREACH LOOPS 我认为我错了
标签: php codeigniter foreach codeigniter-datamapper