2015-04-03 13 views
0
function getAllReferrals(){ 

$sql = "(SELECT r.referral_date,c.lastname,c.middlename,c.firstname,c.gender,r.presenting_problem,e.employee_nickname 
    AS nickname FROM CLIENT c INNER JOIN referral1 r ON c.referral_id = r.referral1_id INNER JOIN assign_psychotherapist ap 
    ON ap.a_referral_id = c.referral_id INNER JOIN employee e ON ap.a_psychotherapist_id = e.empid WHERE r.referral_status ='Assigned' 
    OR r.referral_status ='Accepted' ORDER BY referral_date DESC) UNION ALL (SELECT r.referral_date,c.lastname,c.middlename,c.firstname, 
    c.gender,r.presenting_problem,v.volunteer_nickname AS nickname FROM CLIENT c INNER JOIN referral1 r ON c.referral_id = r.referral1_id 
    INNER JOIN assignvolunteer av ON av.Vreferralid = c.referral_id INNER JOIN volunteer v ON av.Vvolunteerid = v.volid 
    WHERE r.referral_status ='Assigned' OR r.referral_status ='Accepted' ORDER BY referral_date DESC)"; 

$query = $this->db->query($sql); 
if ($query->num_rows() > 0){ 
    return $query->result(); 
}else{ 
    return NULL; 
} 

}如何傳遞這個查詢我的控制器在笨並鑑於

消息使用這在我的foreach:爲的foreach()提供參數無效 - >具有這種錯誤

+0

使用此功能,你的模型裏面,不是在控制器負荷這個模型,利用此功能,並將其結果返回數組varaible並將其分配給任何觀點。 – 2015-04-03 05:41:54

回答

0

隨着給定的信息讓我回答這個問題。

how can i pass this query to my controller in CodeIgniter

明白,查詢不通過從模型的控制器,但什麼是傳遞數據。你必須做的是將模型中的數據返回給控制器,並將數據設置到控制器中的變量$data,然後傳遞給視圖。

由於數組中沒有數據(結果數組爲空),所以添加的內容越多,得到的錯誤就越高。確保查詢返回數據數組。嘗試在MySQL中手動執行它並查看結果。

嘗試result_array()它將查詢結果作爲純數組返回,或者在未產生結果時返回空數組。

Read more

+0

我試圖使用result_array()仍然給我空數組 – Rjgapz 2015-04-03 06:01:06

+0

這是因爲你的查詢返回沒有數據 – Techie 2015-04-03 06:02:13

+0

抱歉,先生,我已經修復它。感謝您的幫助 – Rjgapz 2015-04-03 06:09:12

0

首先嚐試manuly執行查詢,並檢查得到任何結果,你可以試試你的程序。 Invalid argument supplied for foreach() -> having this error發生此類錯誤,您的結果數組可能爲空。

0

首先創建一個模型。並粘貼類似型號名稱型號這段代碼ex_model.php

function getAllReferrals(){ 

$sql = "(SELECT r.referral_date,c.lastname,c.middlename,c.firstname,c.gender,r.presenting_problem,e.employee_nickname 
    AS nickname FROM CLIENT c INNER JOIN referral1 r ON c.referral_id = r.referral1_id INNER JOIN assign_psychotherapist ap 
    ON ap.a_referral_id = c.referral_id INNER JOIN employee e ON ap.a_psychotherapist_id = e.empid WHERE r.referral_status ='Assigned' 
    OR r.referral_status ='Accepted' ORDER BY referral_date DESC) UNION ALL (SELECT r.referral_date,c.lastname,c.middlename,c.firstname, 
    c.gender,r.presenting_problem,v.volunteer_nickname AS nickname FROM CLIENT c INNER JOIN referral1 r ON c.referral_id = r.referral1_id 
    INNER JOIN assignvolunteer av ON av.Vreferralid = c.referral_id INNER JOIN volunteer v ON av.Vvolunteerid = v.volid 
    WHERE r.referral_status ='Assigned' OR r.referral_status ='Accepted' ORDER BY referral_date DESC)"; 

$query = $this->db->query($sql); 
if ($query->num_rows() > 0){ 
    return $query->result(); 
}else{ 
    return NULL; 
} 

,並創建控制器,並得到添加像

<?php 
public function reffers(){ 

$this->load->model('ex_model'); 
$data['refferdata'] = $this->ex_model->getAllReferrals(); 
$this->load->view('reffer'); 
} 
?> 

該代碼現在創建一個視圖名稱reffer.php,並從所有數據foreach循環就像

<?php 

foreach($refferdata as $r) 
{ 
echo $r->r.referral_date.<br>; 
echo $r->c.lastname.<br>; 

// and so on like this in view 
} 

?>