2016-06-10 23 views
1

道歉爲我的nebie喜歡的問題,但我想在這裏學習很多,新的MVC和CodeIgniter。CodeIgniter 3 - 訪問從2分貝的視圖中的數據

我有一個簡單的CRUD,我正在建設,但如果你知道你在做什麼,我就會沉溺於我認爲是非常簡單的事情。

我有一個視圖正在用來更新輪胎到數據庫到表'輪胎'。在這個視圖中,我想展示一個品牌的下拉菜單,這些品牌在一個單獨的數據庫表「品牌」中保存。在我的模型我有一個類的輪胎和我有一個函數:

public function get_tyres($id = FALSE) 
{ 
if ($id === FALSE) 
{ 
    $query = $this->db->get('tyres'); 
    return $query->result_array(); 
} 
$query = $this->db->get_where('tyres', array('id' => $id)); 
return $query->row_array(); 
} 

這讓我訪問我的控制器的輪胎數據,並通過使用發送數據到View:

$data['tyres_item'] = $this->tyres_model->get_tyres($id); 
$this->load->view('tyres/update', $data); 

在我的視圖中,我訪問$ data ['tyres_item'],以便我可以預先填寫帶有db數據的表單。

如何從數據庫訪問品牌的數據建立在我看來,所有品牌的下拉列表? 我有獨立的品牌型號和控制器,但我無法在視圖中訪問它們。

我嘗試添加

$data['brands'] = $this->brands_model->get_brands(); 

我更新功能在我的輪胎控制器,但我明白,這贏得了;噸的工作,因爲我的輪胎控制器,而不是品牌控制器內。

我怎麼能做到這一點,我知道我一定是失去了一些東西簡單...

這是我的觀點:我想要完成的任務:

 echo form_open('tyres/update'); 
    ?> 

    <label for="tyre">Tyre</label> 
    <input type="input" name="tyre" value="<?=$tyres_item['tyre']?>" /> 

    <label for="brand">Brand</label> 
<?php 
    echo form_dropdown('brands', $data['brands']); 
?> 

...

編輯 - 我已經將品牌模型添加到構建中,並且有所幫助,現在我可以使用以下視圖訪問品牌數據:

echo form_dropdown('brands', $brands); 

但它返回一個數組所以我增加了以下內容:

echo form_dropdown('brands', $brands['brand']); 

這則錯誤出具有:

Message: Undefined index: brand 

我卡住了! 幫助。

+0

使用'回聲form_dropdown( '品牌',$品牌[ 'COLUMN_NAME']);' – Saty

+0

感謝的是,我雖然嘗試過了,我越來越: 未定義的變量:品牌 –

回答

1

Got It!

我通過DB結果需要循環,然後添加到form_dropdown:

foreach($brands as $brand) 
    { 
      $brand_list[$brand['id']] = ucfirst(htmlspecialchars($brand['brand'])); 
    } 

echo form_dropdown('brands', $brand_list, $tyres_item['brand']); 

這可能幫助別人。