Попытка получить свойство не объектных деталей товара в подкатегориях

Я хочу показать один товар выбранных подкатегорий, но произошла ошибка message: Trying to get property of non-object Пожалуйста, исправьте детали продукта, если в контроллере, модели и представлении есть ошибки.

где моя ошибка?

Посмотреть

<?php foreach ($categories as $key=>$value) { ?>
<div class="col-sm-3">
<h5><?php echo $categories[$key]->categoriesName; ?></h5>
<?php if(count($categories[$key]->subs)>0) { ?>
<?php foreach ($categories[$key]->subs as $k=>$v)  { ?>
<ul>
<li><a href="<?php echo base_url();?>member/detail/"><?php echo $v->productName; ?></a> </li>
</ul>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
<div class="row" id="productMain">
<div class="col-sm-4">
<div id="mainImage"><img src="<?php echo base_url('upload/'.$details->photo);?>"alt="" class="img-responsive">div>
</div>
<div class="col-sm-4">
<div class="box">
<h1 class="text-center"><?php echo $details->productName;?></h1>
<p class="price">
<?php echo $details->price;?>
</p>
</div>
</div>
</div>

модель

public function get_categories() {
$query = $this->db->get('categories');
$return = array();
foreach ($query->result() as $category) {
$return[$category->categoriesID] = $category;
$return[$category->categoriesID]->subs =
$this->get_sub_categories($category->categoriesID);
}
return $return;
}

public function get_sub_categories($category_id) {
$this->db->where('categoriesID', $category_id);
$query = $this->db->get('product');
return $query->result();
}

public function get_details($product_id)
{
$this->db->where("productID",$product_id);
$query = $this->db->query("SELECT * FROM product");
$row = $query->row();
return $row;
}

контроллер

public function detail($product_id){
$data=array('title'   =>'Pasar Online | Detail Produk',
'username'      => $this->session->userdata('username'),
'categories'    => $this->categories_model->get_categories(),
'details'       => $this->categories_model->get_details($product_id),
'isi'           =>'member/detail');
$this->load->view('template_home/wrapper',$data);
}

print_r ($ категории)

Array ( [1] => stdClass Object
( [categoriesID] => 1 [categoriesName] => Laptop [subs] => Array
( [0] => stdClass Object ( [productID] => P0001 [categoriesID] => 1 [productName] => AAA )
[1] => stdClass Object ( [productID] => P0002 [categoriesID] => 1 [productName] => BBB )
[2] => stdClass Object ( [productID] => P0004 [categoriesID] => 1 [productName] => CCC ) ) )
[2] => stdClass Object ( [categoriesID] => 2 [categoriesName] => TV [subs] => Array
( [0] => stdClass Object ( [productID] => P0005 [categoriesID] => 2 [productName] => loren epsum ) ) )
[3] => stdClass Object ( [categoriesID] => 3 [categoriesName] => Handphnone [subs] => Array
( [0] => stdClass Object ( [productID] => P0003 [categoriesID] => 3 [productName] => Manggoes )
[1] => stdClass Object ( [productID] => P0006 [categoriesID] => 3 [productName] => Pinneapple ) ) ) )

print_r ($ подробнее)

stdClass Object ( [productID] => P0001 [categoriesID] => 1 [productName] => AAA ) 1

ошибка в петле $details

-1

Решение

Попробуйте вот так … ввиду:

<?php foreach ($categories as $key=>$value) { ?>
<div class="col-sm-3">
<h5><?php echo $categories[$key]->categoriesName; ?></h5>
<?php if(count($categories[$key]->subs)>0) { ?>
<?php foreach ($categories[$key]->subs as $k=>$v)  { ?>
<ul>
<li><a href="<?php echo base_url();?>member/detail">
<?php echo $v->productName; ?></a></li>
</ul>
<?php } ?>
<?php } ?>
</div>
<?php } ?>

<div class="row" id="productMain">
<div class="col-sm-4">
<div id="mainImage"><img src="<?php echo base_url('upload/'.$details->photo);?>"alt="" class="img-responsive">div>
</div>
<?php if(count($details)>0){
<div class="col-sm-4">
<div class="box">
<h1 class="text-center"><?php echo $details->productName;?></h1>
<p class="price">
<?php echo $details->price;?>
</p>
</div>
</div>
<?php } ?>
</div>

МОДЕЛЬ:

Отправить product_id, где условие для деталей продукта

  public function get_details($product_id) {
$this->db->where("productID",$product_id);
$query = $this->db->query("SELECT * FROM product");
$row = $query->row();
return $row;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector