2014-06-27 198 views
1

我是新来的笨。可有人请告诉如何在模型控制器通过$row['main_products_cat_id'];'id'=> 'my id here',帮助我。我尝试了很多方法,但是失败了。笨将数据传递给控制器​​

谢谢!

这是我的模型

function cart_product_records($id){ 

     $this->db->from('tbl_sub_products'); 
     $this->db->where('tbl_sub_products.sub_product_id', $id); 
     $query = $this->db->get(); 

     foreach ($query->result_array() as $row){ 

      echo $row['main_products_cat_id']; 
      echo $row['sub_product_id']; 
      echo $row['sub_product_name']; 
      echo $row['sub_product_description']; 
      echo $row['sub_product_image']; 
      echo $row['sub_product_price'];  
     } 
     return $query->result();  
} 

这是我的控制器

function shopping_cart(){ 

     $id = $this->input->get('id');  
     if($query = $this->mod_products->cart_product_records($id)){ 

      $data['result'] = array(

         'id'  => 'my id here', 
         'qty'  => my qty here, 
         'price' => my price here, 
         'name' => 'my product name here' 

        ); 
     } 

} 

回答

1

首先 - 你应该在你的模型不echo数据 - 你真的应该只echo在视图中的文件数据。

数据流动的方式首先是将$id从控制器传递到mod_products模型中的cart_product_records函数。模型然后运行查询并从数据库获取数据。此数据由$query->result_array()$query->result()代表(你用这两种,但你应该只使用一个,一次)。

所以你就必须return $query->result()它发送您的数据备份到您的控制器。数据将存储在$query变量中,因为您有$query = $this->mod_products->cart_product_records($id)

如果我是你,我会if语句添加!empty()检查的,所以它看起来像这样:

if(!empty($query = $this->mod_products->cart_product_records($id))){ 

然后,根据你想从$query得到什么数据,你要么会想建立一个循环(这将使您解压多个ID,价格等),或者你可以从$query检索特定的值,比如$query[0][main_products_cat_id](假设$query是一个数组)或$query[0]->main_products_cat_id(如果它是一个对象)。

我希望有帮助!

0

$查询保存数据库结果的对象。所以,你会在你的控制器的$ data数组中执行此操作。

$data['result'] = array(
    'id' => $query->main_products_cat_id, 
    // carry on... 
); 
+0

访问我认为这会是'$ query [0] - > main_products_cat_id' – Dan

+0

你是对的。我会从模型中返回$ query [0]。 – Craig

0

我这么想的任何意义,写

echo $row['main_products_cat_id']; 
.... 

在循环创建数组作为

foreach ($query->result_array() as $row){ 

      $return_array[] = $row; 
     } 
     return $return_array 

和控制器,你可以

$query['your_id']; 
+0

谢谢:D:D – user3766509