문제점 : 컨트롤러 메서드를 뷰에서 호출 할 수 없습니다. 이유 :이 MVC 패턴 사용상되지Codeigniter의 뷰에서 컨트롤러 메서드를 사용하는 방법
foreach($data as $key => $val){
foreach($methodData($val['dataID']) as $mKey => $mVal){
echo $mVal['name'];
}
}
문제점 : 컨트롤러 메서드를 뷰에서 호출 할 수 없습니다. 이유 :이 MVC 패턴 사용상되지Codeigniter의 뷰에서 컨트롤러 메서드를 사용하는 방법
foreach($data as $key => $val){
foreach($methodData($val['dataID']) as $mKey => $mVal){
echo $mVal['name'];
}
}
: 나 데이터 감안
방법 및 루프 인자를 전달하고자하기 때문이다. 보기에서 데이터 만 표시해야합니다 (컨트롤러에서 전달한 데이터).
컨트롤러에서 필요에 따라 데이터를 설정하고 올바른 모델을보기에 전달하십시오.
'정글'이라는 모델이 있다고 가정 해 봅시다. 모델에서 우리는 검색 용어를 사용하여 코끼리를 검색합니다. 코끼리가 돌아 오지 않으면 검색 양식을로드하고 검색 용어를 다시 전달합니다. 컨트롤러
// check first if no results came back from the model
if(! $data['elephants'] = $this->jungle->getElephants($searchterm)){
$data['searchterm'] = $searchterm ;
$this->load->view('searchform_elephants', $data); }
// we have results, $elephants data structure is assigned to $data
// and passed to the view so it can be accessed on the view page
else { $this->load->view('show_elephants', $data); }
에서
는 일부 코끼리는 그 $ 코끼리 개체 (또는 배열) 데이터 $에 할당 돌아오고, 다음은 뷰에 전달되는 경우.
그래서보기에서 - 데이터 구조의 유형에 따라 결과를 foreach 수 있습니다.
foreach($elephants as $index => $elephant) :
echo $elephant->firstname . ' ' . $elephant->lastname ;
마지막 - 데이터베이스에서 검색하는 내용이 단일 레코드라는 것을 알고 있으면 쿼리 결과를 row()에 할당 할 수 있습니다. 내가 무엇을해야하므로 https://ellislab.com/codeigniter/user-guide/database/results.html
: 다음보기에 당신은 당신이 살충제에 대한
이 페이지 $의 id로 고유 눈송이를 받고있는 경우 예를 들어 foreach는 등을 할 필요가 없습니다 데이터를 반복하려면? 컨트롤러에서 새로운 메서드를 만들고 그 메서드에서 구문 분석합니까? – Gabriel
글쎄, 그냥 루프 및 xml/컨트롤러 컨트롤러에서 만들고보기에서 데이터를 읽습니다. 귀하의 답변에 감사드립니다. – Gabriel
루프가 컨트롤러가 아닌 모델에 있어야합니다. 모델은 준비된 데이터를 컨트롤러에 반환해야하며 컨트롤러는 이러한 데이터를 뷰에만 전달해야합니다. – ahmad