2017-10-02 1 views
0

컨트롤러 :codeigniter에서 컨트롤러에서 모델로 변수를 전달하는 방법은 무엇입니까?

$this->data['students'] = $this->student_m->get_order_by_student_sattendance($id); 

모델 :

function get_order_by_student_sattendance($val) { 
    $this->db->select()->from(student)->where('FIND_IN_SET($val, classesID)'); 
     $query = $this->db->get(); 
     return $query->result(); 
} 

안녕하세요, 난 그냥 변수 $ id를 통과은 $ 발로 모델링합니다. 그러나 그 결과는 'where 절'에 알 수없는 '$ val'컬럼이 있습니다. SELECT * FROM student WHERE FIND_IN_SET ($ val, classesID). 나는 매개 변수를 전달하는 것이 잘못되었다고 생각합니다. 친절하게 올바른 코드를 제안 해주십시오. 사전

+0

'from (student)'이 (가) 의심 스럽습니다. '(학생)'이 아닌가? – Alex

+0

$ val 변수를 부 기능에 echo 시켰습니까? 함수 안에 $ val이 있으면 값이 모델에 성공적으로 전달됩니다. 하지만 검색어 부분이 잘못되었을 수 있습니다. –

+0

예 에코가 작동합니다. 에코 6이 표시 될 때. 그래서이 코드를 $ this-> db-> select() -> from (student) -> where ('FIND_IN_SET (6, classesID)'); 그것의 일 벌금. 하지만 변수를 $ val로 선언하면 작동하지 않습니다. 혼란 스럽습니다. –

답변

4

당신은 작은 따옴표 (')를 사용하는 경우에

감사합니다, 당신은

->where("FIND_IN_SET($val, classesID)"); 
+0

이 코드를 사용해 주셔서 감사합니다.> ('FIND_IN_SET ('. $ val. ', classesID)'); 다시 한 번 감사드립니다 –

-1

이 시도 (") 연결을

->where('FIND_IN_SET(' . $val . ', classesID)'); 

를 사용하거나 두 번있는 qoute를 사용해야합니다 .. 변경 $ id ~ $ val

$ this-> data [ 'students'] = $ this-> student_m-> get_order_by_student_sattendance ($ val);

+0

분명히 $ id가 주어지며 get_order_by_student_sattendance는 $ val을 사용합니다. 'where 절'에서 '$ val'이라는 알 수없는 열은 $ val을 문자열이 아닌 변수로 사용한다는 것을 암시합니다. – Stefan

관련 문제