CI 모델의 특정 인스턴스에 대한 속성과 관련된 질문이 있습니다. 예 :CodeIgniter 모델 및 속성
project_model이라는 모델이 있습니다.
이 그것이라고$total_projects = $this->project_model->Get_Projects($options);
그래서 같은 모델의 속성을 생성합니다 : 모델에서는이 방법 칼레의 Get_Projects을 가지고
$query = $this->db->get('projects');//query
$this->num_rows = $query->num_rows();
return $query->result();
메소드가 호출 된 그래서 후
컨트롤러에
, 나는 NUM_ROWS에 액세스해야합니다$num_rows = $total_projects->num_rows;
(나는 당신의 일부는 컨트롤러에서 NUM 행을 사용하여 뒤에 이유에 의문을 제기 할 수 있습니다 알고 그것은 페이지 매김 설정을 함께 할 수의 IT하지만 일을하는 더 나은 방법이있을 수 있습니다.. 오히려이 특정 프로젝트에 시간 없음)
내 문제는이 구문 오류가 생성 있다는 것입니다.
이Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/projects.php
Line Number: 110 ($num_rows = $total_projects->num_rows;)
첫째 이유입니다을? 나는 이것을 사용하려고 생각했다 : $ this-> project_model :: num_rows 대신에? 하지만 num_rows는 $ total_rows 객체에만 해당되지 않습니까? 따라서 전체 모델에만 적용됩니다.
BTW : 모델에 대한 CI 가이드를 읽었지만 모델 인스턴스를 만드는 데 대한 정보가 전혀 없습니다.
EDITED : 객체 고유의 num_rows 속성 결과가 필요합니다. 따라서 예 :
$a=$this->project_model->Get_Projects($options);
$b=$this->project_model->Get_Projects($options);
$num_rows = $this->project_model->num_rows;
마지막 줄에는 $ b num_rows가 표시되고 $ a가 표시되지 않습니다. 그래서 객체 지향적으로 만들 수 있도록 어떻게 호출해야합니까? (분명히 변수의 두 번째 호출 전에 저장할 수 있습니다.)
클래스 속성이 CI에 단일 값만 저장하기 때문에 실제로이 방법을 잘못 생각했다고 생각합니다. 결과()로 num_rows를 다시 보내야한다고 생각합니다. 그래서 저는 지금 그 코드를 가지고 놀고 있습니다. 현재 나는 이것을 가지고있다 : $ query = $ this-> db-> get ("projects"); $ result-> result = $ query-> result(); $ result-> num_rows = $ query-> num_rows(); (줄 바꿈이없는 주석에서는이 작업을 수행하기가 어렵습니다.) 기본적으로 결과에 대한 속성과 num_rows에 대한 속성을 만듭니다. 하지만 어떻게 사용하기 전에 결과를 선언해야합니까? var를 사용해야합니까? 지금 혼란스러워. – Adamantus
또한 컨트롤러 측에서 list()를 사용하여 결과 및 num 행을 별도로 가져올 수 있고 변수를 만들 수 있습니다. – Adamantus
나는 내 자신의 문제를 해결했다. 나는 내일 해결책을 게시 할 것이다. 100 Exp가 없기 때문에 허용되지 않습니다. – Adamantus