2012-11-25 46 views
0

Possible Duplicate:
Call to a member function on a non-object傳遞模型數據子從視角

在我的主頁查看我試圖將數據傳遞給我的標題子視圖

<?php 
    $this->load->model('header2'); 
    $head = $this->header2->HeaderData(); 
    $this->load->view('head_view', $head); 
?>  

,但我得到這個錯誤:

Message: Undefined property: CI_Loader::$header2
Fatal error: Call to a member function HeaderData() on a non-object in H:\Forum\application\views\homepage_view.php on line 6

+0

看來你的'header2'模型工作不正常。給出'var_dump($ this-> header2);'的結果。 – Repox

+0

@Repox - var_dump返回「NULL」,HeaderData方法可以從控制器正常工作 – SteB

+0

我錯過了試圖在視圖中使用加載模型的部分。你不能。下面的答案是正確的做法。 – Repox

回答

0

在控制器方法中編寫代碼並僅在那裏加載您的查看錶單並使用類似代碼

$this->load->model('header2'); 
$data['head'] = $this->header2->HeaderData(); 
$this->load->view('head_view', $head); 

,並在head_view.php視圖訪問此屬性爲$頭這樣

echo '<pre>'; 
print_r($head); 
echo '</pre>'; 

如果要加載主視圖,然後在它調用子視圖,那麼你就不需要經過加載時的值視圖,你可以直接訪問subview中的值,所以你可以直接在subivew中使用$head

+0

因此,如果我傳遞給主頁視圖的任何數據將在子視圖中可用,那麼我只需要將數據從2個模型傳遞到主頁視圖? – SteB

+0

是的,你只需要將數據傳遞給key =>值對中的主視圖,你的密鑰在主視圖中是可變的,就像你可以使用$ key一樣,如果你從主視圖加載子視圖,你不要傳遞數據/鍵=>值subivew $ key將在子視圖中可用 –

相關問題