【发布时间】:2018-03-24 18:10:49
【问题描述】:
我有类别表。一个项目在表 3 中可能有多个类别。如下三张表:
表1:
ID Item_id
1 1
2 2
3 3
4 4
5 5
表2:
ID Item_id Category
1 1 catId_1
2 2 catId_1
3 2 catId_2
4 3 catId_2
5 3 catId_3
6 3 catId_4
7 4 catId_2
8 5 catId_1
etc.
第三个表只有类别名称的信息:
表3:
Category_id category_name
catId_1 cats
catId_2 dogs
catId_3 IT_managers
catId_4 Trump_lovers
我做了一个查询来获取所有项目的 PDO 对象,并能够从 php 中的每个项目中获取类别。
第一个查询:
public function getCategories(){
$this->db->query('SELECT table1.*, table2.*, table3.*
FROM table1
INNER JOIN table2
ON table1.item_id = table2.item_id
INNER JOIN table3
ON table2.category=table3.category_id');
$results = $this->db->resultset();
return $results;}
$items = $offer_class -> getCategories();
如何在 foreach 循环中获取每个项目的所有类别名称?
我已经尝试过这个 foreach 循环,但它只给了我每个项目的第一个类别:
<?php foreach($items as $item){
echo $item->category_name;
}
?>
【问题讨论】:
-
从 table2 中选择任何东西都没有意义。只是说'
-
@Strawberry- 你是对的