2015-08-03 78 views
0

我試圖做篝火連接查詢(這是偉大的初學者我很BTW)加入與篝火(笨)查詢

我第一次嘗試的方法來設置一個公共的功能,但經過有一段時間,我雖然它會更好地把它放在控制器(也許我錯了...?)

但是,我想我的加入請求是有效的,但我不能在我的看法得到它...

這裏是我的控制器:

class Patient extends Admin_Controller { 

    public function __construct() { 
     parent::__construct(); 

     $this->load->model('post_model'); 

     Template::set_block('search/search', 'search/search'); 
     //Template::set('toolbar_title', 'Manage Your Blog'); 
     Template::set_theme('custom', 'default'); 
     Template::set_block('nav', 'nav'); 
    } 

    public function detail($id = null) { 
     $this->load->helper('typography'); 
     $this->load->model('operation_model'); 

     $this->db->select('*'); 
     //$this->db->from ('operation AS ope'); 
     $this->db->from('operation'); 

     $this->db->join('patient', "patient.zkp_pat = operation.zkf_pat "); 

     $query = $this->db->get(); 
     $post = $this->post_model->find($id); 

     //Template::set('post', $query); 
     Template::set('post', $post); 

     Template::set_view('detail'); 
     Template::render(); 
    } 
} 

我的看法文件:

<code> 
    <div class="post"> 
     <?php 
     echo ($post->nom . ' '); 
     echo ($post->prenom . ' '); 
     echo ($post->zkp_pat . ' '); 

     echo ($post->dob); 

     foreach ($query as $row) : 
      echo ($row->zkf_pat . ' '); 
      echo "titre de l'opération: " . ($row->titre); 
     endforeach; 
     ?> 
    </div> 
</code> 

感謝您的建議和幫助!

回答

0

我也在BF論壇上尋求幫助,有人給了我解決方案=>希望這會幫助其他人。問題出在$query,這是一個DB_result對象。 http://www.codeigniter.com/user_guide/database/query_builder.html#selecting-data

來解決這個問題,我不得不鬥:$query->result()

最終代碼:

控制器:

public function detail ($id = null){ 
    $this->load->helper('typography'); 


    $this->db->from ('operation as ope'); 
    $this->db->join ('patient', 
        "patient.zkp_pat = ope.zkf_pat "); 
    $this->db->where ('patient.zkp_pat', $id); 
    $query = $this->db->get(); 

    $post = $this->post_model->find($id); 

    Template::set('query', $query); 
    Template::set('post', $post); 


    Template::set_view('detail'); 
    Template::render()   
} 

,並查看文件:

<div class="post"> 
    <h2><?php e($post->nom); ?></h2> 
<?php 
echo ($post->nom . ' '); echo ($post->prenom . ' '); 
echo($post->zkp_pat . ' '); 
echo ($post->dob); 

foreach ($query->result() as $row) : 
    echo '<div>' 
    echo " \n"; 
    echo ($row->zkf_pat . ' '); 
    echo "titre de l'opération: " . ($row->titre); 
?> 
    </div> 
<?php 
    endforeach; 
?> 

</div> 

$query->get()->result()返回對象無線所有提取的數據, 而$query->get()->row()只返回單個結果行,如果結果有一行,它只返回第一個結果行。結果作爲一個對象給出...

如果你喜歡我的編輯,請upvote,這將是非常有益的!