Php codeigniter无法将stdclass类型的对象用作数组

Php codeigniter无法将stdclass类型的对象用作数组,php,database,codeigniter,Php,Database,Codeigniter,我需要查看数据库中的产品,每个产品都有自己的类别。当我尝试查看时,此错误会弹出到我的视图中。我在这件事上做错了什么 我的看法是: <?php foreach ($products as $alls) { $id = $alls['product_id']; $name = $alls['product_name']; $description = $alls['produ

我需要查看数据库中的产品,每个产品都有自己的类别。当我尝试查看时,此错误会弹出到我的视图中。我在这件事上做错了什么

我的看法是:

<?php
            foreach ($products as $alls) {
                $id = $alls['product_id'];
                $name = $alls['product_name'];
                $description = $alls['product_description'];
                $price = $alls['product_price'];
                $picture = $alls['img_name'] . $alls['ext'];
                ?>

                <div class="col-md-4"><a data-toggle="modal" data-target="#myModal">
                        <img class = "bread_img" id = "bread_img_<?php echo $id;?>" src="<?php echo base_url() . 'assets/' . $picture; ?>"  onMouseOut="this.src = '<?php echo base_url() . 'assets/' . $picture; ?>'" width="230" height="192"></a>
                        <input type ="hidden" id = "hidden_name_<?php echo $id;?>" value = "<?php echo $name;?>" >
                        <input type ="hidden" id = "hidden_desc_<?php echo $id;?>" value = "<?php echo $description;?>" >
                    <br><br> <h5 class="names" id="pname" src="<?php echo $name; ?>"><?php echo $name; ?></h5>₱&nbsp;<?php echo $price; ?>
                    <br><br><br><br><br>
                    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                        <div class="modal-dialog modal-l">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                                    <h4 class="modal-title" id="myModalLabel"> <?php echo $name; ?></h4>
                                </div>
                                <div class="modal-body">
                                    <img  src="<?php echo base_url() . 'assets/' . $picture; ?>" width="500" height="417" id = "modal_img">
                                    <br><br><h6 class="modal-title" id="myModalLabels"> <?php echo $description; ?></h6><br><br>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            <?php } ?>   
型号:

  public function viewprod($id) {
          $query = $this->db->query("SELECT * from product_table WHERE product_category = '$id'");
        $r = $query->result();
        return $r;

    } 
这是正确的模型函数

<?php
            foreach ($products as $alls) {
                $id = $alls->product_id;
                $name = $alls->product_name;
                $description = $alls->product_description;
                $price = $alls->product_price;
                $picture = $alls->img_name."." . $alls->ext;//assuming $alls->ext = 'jpg' and $alls->img_name = 'abc' so `$alls->img_name."." . $alls->ext` prints abc.jpg
                ?>

            <div class="col-md-4"><a data-toggle="modal" data-target="#myModal">
                    <img class = "bread_img" id = "bread_img_<?php echo $id;?>" src="<?php echo base_url() . 'assets/' . $picture; ?>"  onMouseOut="this.src = '<?php echo base_url() . 'assets/' . $picture; ?>'" width="230" height="192"></a>
                    <input type ="hidden" id = "hidden_name_<?php echo $id;?>" value = "<?php echo $name;?>" >
                    <input type ="hidden" id = "hidden_desc_<?php echo $id;?>" value = "<?php echo $description;?>" >
                <br><br> <h5 class="names" id="pname" src="<?php echo $name; ?>"><?php echo $name; ?></h5>₱&nbsp;<?php echo $price; ?>
                <br><br><br><br><br>
                <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                    <div class="modal-dialog modal-l">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                                <h4 class="modal-title" id="myModalLabel"> <?php echo $name; ?></h4>
                            </div>
                            <div class="modal-body">
                                <img  src="<?php echo base_url() . 'assets/' . $picture; ?>" width="500" height="417" id = "modal_img">
                                <br><br><h6 class="modal-title" id="myModalLabels"> <?php echo $description; ?></h6><br><br>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        <?php } ?> 
这是您正确的型号功能


<?php
            foreach ($products as $alls) {
                $id = $alls->product_id;
                $name = $alls->product_name;
                $description = $alls->product_description;
                $price = $alls->product_price;
                $picture = $alls->img_name."." . $alls->ext;//assuming $alls->ext = 'jpg' and $alls->img_name = 'abc' so `$alls->img_name."." . $alls->ext` prints abc.jpg
                ?>

            <div class="col-md-4"><a data-toggle="modal" data-target="#myModal">
                    <img class = "bread_img" id = "bread_img_<?php echo $id;?>" src="<?php echo base_url() . 'assets/' . $picture; ?>"  onMouseOut="this.src = '<?php echo base_url() . 'assets/' . $picture; ?>'" width="230" height="192"></a>
                    <input type ="hidden" id = "hidden_name_<?php echo $id;?>" value = "<?php echo $name;?>" >
                    <input type ="hidden" id = "hidden_desc_<?php echo $id;?>" value = "<?php echo $description;?>" >
                <br><br> <h5 class="names" id="pname" src="<?php echo $name; ?>"><?php echo $name; ?></h5>₱&nbsp;<?php echo $price; ?>
                <br><br><br><br><br>
                <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                    <div class="modal-dialog modal-l">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                                <h4 class="modal-title" id="myModalLabel"> <?php echo $name; ?></h4>
                            </div>
                            <div class="modal-body">
                                <img  src="<?php echo base_url() . 'assets/' . $picture; ?>" width="500" height="417" id = "modal_img">
                                <br><br><h6 class="modal-title" id="myModalLabels"> <?php echo $description; ?></h6><br><br>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        <?php } ?> 
“onMouseOut=“this.src=”“width=“230”height=“192”>

“onMouseOut=“this.src=”“width=“230”height=“192”>

在您的模型中,您使用的是
result()
函数,它将以对象形式返回结果

$query->result();
解决方案1:

如果仍要使用
result()
函数,则需要将视图更改为:

$id = $alls->product_id; 
$name = $alls->product_name; $description = $alls->product_description; 
$price = $alls->product_price; 
$picture = $alls->img_name. $alls->ext;
解决方案2:

如果不想更改视图文件,则必须在模型中使用
result\u array()
,如下所示:

$query->result_array(); // will return you result in array format.

在您的模型中,您使用的是
result()
函数,它将以对象形式返回结果

$query->result();
解决方案1:

如果仍要使用
result()
函数,则需要将视图更改为:

$id = $alls->product_id; 
$name = $alls->product_name; $description = $alls->product_description; 
$price = $alls->product_price; 
$picture = $alls->img_name. $alls->ext;
解决方案2:

如果不想更改视图文件,则必须在模型中使用
result\u array()
,如下所示:

$query->result_array(); // will return you result in array format.
可能的重复可能的重复