2017-01-21 2 views
-1

Я хочу показать один продукт подкатегорий, который был выбран, но была ошибка 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

Что выводится на 'print_r ($ categories)'? –

+0

Я отредактировал, поэтому никто в цикле, но когда я выбираю показанные «данные о продукте», это ошибка – Anonymous

+0

, вы должны пройти id .try, которую вы можете сделать. –

ответ

0

Попробуйте, как это ... в виду:

<?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

Это еще erorr, сообщение об ошибке пытается получить свойство не-объекта в '$ detail' в поле зрения – Anonymous

+0

попробовал отредактировать answer.your array is empty.Just array array. –

+0

Я уже отредактировал (а) пока не дал результатов, показывая детали продукта, я вставляю print_r, но его результаты вроде этого 'Array() 1' – Anonymous

Смежные вопросы