php - 如何从 codeIgniter 3.x.x 中的两个不同表中获取值

标签 php mysql codeigniter

我在这里提出了另一个查询,我用谷歌搜索了它但没有运气。现在我希望我能在这里得到解决方案。 我的问题是,

我有两个表格图像和类别。图片表如下所示。 this is images table . 在此表中,类别 Image 和 Icon 将仅存储在 image_name 列中,其中 icon 和 image 的 id 将作为外键存储在其他表中。

类别表如下所示。

所以我的问题是,我想显示所有带有类别图像和类别图标的类别名称。 但是当我编写模型查询时,它只获取图像而不是图标。

我的模型查询:

 public function getAllCatsForAdminPanel(){
       //extract($data);

       $this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as imageName');
       $this->db->from('categories');
       $this->db->where('categories.status =', 'a');
       $this->db->join('images', 'images.id = categories.cat_icon', 'left');
       $this->db->join('images as im', 'im.id = categories.cat_image', 'left');

      $query = $this->db->get();

       //$query = $this->db->get('categories');
       //print_r($query);
       if($query->num_rows()>0){
        return $query->result();
       }else{
        return false;
       }
}

我的 Controller :

 public function category(){
    logActivity();
    $cats_data['all_cats'] = $this->cat_model->getAllCatsForAdminPanel();
       //print_r($cats_data);
    $this->load->view('admin/category', $cats_data);

}//close category

我的查看代码:

<?php 
            if(count($all_cats) > 0){
              //print_r($all_cats);
              foreach($all_cats as $all_cat){
              ?>  
              <tr>
              <td><?php echo ++$counter; ?></td>
              <td><?php echo $all_cat->cat_name; ?></td>
              <td><?php echo $all_cat->cat_dis_order; ?></td>
              <td><?php echo $all_cat->imageName; ?></td>
              <td><?php echo $all_cat->imageName; ?></td>
              <td>
                <a href="<?php echo base_url('admin/admin/modifyCategory/'.$all_cat->cat_id); ?>"><i class="fa fa-pencil" aria-hidden="true"></i></a>
              </td>
              <td><button class = "btn btn-danger" onclick="deleteCategory(<?php echo $all_cat->cat_id; ?>);"><i class="fa fa-trash" aria-hidden="true"></i></button></td>

              </tr>
            <?php 
                }
              }
              else{
                  echo "no records found";
                }
            ?>

我的 View 表截图:

Category table UI Image

在此表中, Blob 红色名称应该不同,但它们是相同的。 请帮帮我!!! 提前致谢...

最佳答案

试试这个:

模型修改

$this->db->select('categories.id AS cat_id, categories.cat_name AS cat_name, categories.display_order AS cat_dis_order, images.image_name as iconName, im.image_name as imageName');

查看修改

<td><?php echo ++$counter; ?></td>
<td><?php echo $all_cat->cat_name; ?></td>
<td><?php echo $all_cat->cat_dis_order; ?></td>
<td><?php echo $all_cat->imageName; ?></td>
<td><?php echo $all_cat->iconName; ?></td>

关于php - 如何从 codeIgniter 3.x.x 中的两个不同表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42358306/

相关文章:

php - jQuery - 与 undefined variable 作斗争

php - Codeigniter mysql 查询特殊字符

php - 尝试模拟 Doctrine 2 实体存储库时在 PHPUnit 中出现错误

php - Postgres "RAISE EXCEPTION"如何转换为 PDOException?

表格内的 PHP 下拉菜单

php - MySQL 中的 limit vs exists vs count(*) vs count(id)

php - 如何使用 PHP 一次将数据插入两个 mysql 表中

javascript - 未使用模态 Bootstrap 和 codeigniter 插入数据

php - 如何使用不同的字母来使相同的id递增?

php - 相同和不同表中不同 id 的多个联接