2011-10-10 3 views
1

jquery POST를 올바르게 수행하고 있지만 컨트롤러 내부에서 다른 PHP 함수를 호출하고 싶습니다. EDIT 아래의 코드는 잘 작동합니다 .... 나는 단지 바보입니다. 누군가는 이것을 닫으십시오. 내가 $this->con2()을 수행 할 때, 그러나 그것은 실패합니다 con1jquery 게시물 이후에 다른 PHP 함수 호출하기

class controller extends CI_Controller { 

    function con1() { 
    //retrieve post variable 
    $this->con2() 
    } 

    function con2() { 
    //do something 
    $this->my_model->get_results() //fails 
    } 

} 

JQuery와 게시물 : 여기

는 설정입니다. 어쨌든이 일을 할 수 있나요? 또한 jquery가 데이터를 게시하면 모델을 호출 할 수 있습니까?

감사

+0

그것은 기본적으로 작동합니다 다른 모델의 방법 내부 모델의 메소드를 호출하는 방법을 의미한다. .. 여기 왜 전체 코드를 게시하지 않습니까? 그렇게하면 코드에 어떤 문제가 있는지 알 수 있습니다. –

답변

0

당신이 할 수없는 일이 무엇인지는 분명치 않습니다. 그러나 컨트롤러의 방법으로 저글링을하는 이유는 무엇입니까? 모델의 목적이 다시 사용할 수있는 것이므로 con1() 메서드에서 올바르게 호출하지 않으시겠습니까?

class Controller extends CI_Controller { 

    function con1() { 
    $this->load->model('my_model'); 
    //retrieve post variable 
    echo $this->my_model->get_results(); 
    } 
} 

또한 변수를 값으로 가져 오려면 변수를 사용할 수도 있습니다. 답변을 더 자세하게 확장하면 내 질문을 편집하고 업데이트 할 것이고, 지금까지는 잘못된 점을 짐작할 수 있습니다. 코드는이어야하며, get_result() 메서드는 실제로 어떤 것을 반환합니다 (반향 출력해야 함). 에 의한 경우

는 "나는 모델 내에서 함수를 호출 어떻게"당신이, 음, 그것은 어떤 PHP는 클래스 메소드의 호출처럼 작동 $this->other_method();

+0

의견을 보내 주셔서 감사합니다. 필자는 데이터베이스 관련 자료를 모델에 엄격하게 적용하는 경향이 있습니다. 상당히 많은 코드를 재사용하면 일반적으로 라이브러리에 배치합니다. 마침내 xdebug가 작동하게되었지만'get_result()'가 Codeigniter의 세션에 문제를 일으키는 것처럼 보입니다. – Justin

+0

@ Justin Model은 데이터베이스를위한 것이 아니라 다른 상황에서 사용할 수있게 만드는 코드 정교성을위한 것입니다. 때때로 라이브러리를 사용하는 것이 옳다. 그런 경우 내 제안은 여전히 ​​유효하다. 다른 컨트롤러의 메소드로 리디렉션하는 대신 필요한 곳에 라이브러리를 호출하기 만하면된다. –

0

은 CodeIgniter를 사용하지 않은하지만 난 문제를 해결하는 것입니다 포스트 배열 CON1 내 CON2을 리디렉션 생각한다.

+0

예, 리디렉션을 사용하면 다른 기능을 호출 할 수 있지만 모든 컨텍스트는 손실됩니다. 이 리디렉션은 컨트롤러 내에서 작동하지만 URL에 액세스 할 수없는 모델에서는 어떻게 동일한 효과를 얻을 수 있습니까? – Justin

관련 문제