我从数据库表中获取了一些数据。我使用的查询非常简单
$query = $this->db->query("SELECT *
FROM mc_boxes_has_categories
WHERE mc_boxes_idmc_boxes = $box_id
");
$categories = $query->result_array();
return $categories;
此查询的输出是以下
Array
(
[0] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 1
)
[1] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 4
)
[2] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 5
)
)
我的问题是如何检查类别是否包含类别ID 1然后呈现1个视图,如果它不包含则再渲染另一个视图。我需要检查类别ID 1以某种方式在sql中是否可能?
由于
答案 0 :(得分:0)
如果您只想选择那些具有类别1的类别,请更改您的选择查询,如下所示:
$query = $this->db->query("SELECT *
FROM mc_boxes_has_categories
WHERE mc_boxes_idmc_boxes = $box_id AND categories_idcategories = 1
");
如果你想要选择所有类别,然后对id 1类别做一些不同的事情:
foreaach($categories as $category)
{
if($category['categories_idcategories'] == 1)
{
// render view 1
}
else
{
// render another view
}
}
答案 1 :(得分:0)
您可以迭代并分组
foreach($categories as $row){
$categories[$row['categories_idcategories']][] = $row['mc_boxes_idmc_boxes'];
}
// whatever compare logic you need
if(isset($categories[1][0])){
}