문제

CodeIgniter 기반 웹 사이트의 모델을로드하고 있지만 오류가 계속됩니다.

"Fatal error: Call to a member function on a non-object in /nfs/c02/h05/mnt/30796/domains/planetchustar.com/html/arguit/system/application/controllers/home.php on line 8"

참조 코드의 일부는 다음과 같습니다.

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->Posts->get_all_topics();
}

이 모델은 "Posts"라고하며 파일 이름은 "Posts.php"입니다.

편집 : 내 문제 중 하나를 발견했습니다. 그 기능을 사용하기 전에 데이터베이스에로드하지 않았기 때문에 문제를 해결했지만 이제는 다음과 같습니다.

A Database Error Occurred
Unable to connect to your database server using the provided settings.

그러나 Database.php 파일에 저장 한 연결 정보가 정확하다고 확신합니다 (Phpmyadin 웹 사이트에서 얻은).

도움이 되었습니까?

해결책

이 경우 Codeigniter 사용자 안내서는 이해하기가 조금 어렵습니다. 파일 이름 만 소문자 여야하고 '로드'및 호출 ($ this-> posts-> etc ())은 모델 파일의 선언과 일치해야합니다.

그것은 확실히 사례 민감도 문제입니다.

다른 팁

'게시물'은 하위 디렉토리에 있습니까? 그렇다면로드 중에 하위 디렉토리를 참조해야합니다.

그렇지 않다면 여기 도움이 될 수있는 게시물입니다.

나는 @arthur에 동의합니다. 다른 컨트롤러 내에 컨트롤러를 포함 시키려고 시도하지 않았는지 확인하십시오.

사례 민감도 오류입니다 ....

그렇게 사용하십시오.

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->posts->get_all_topics();//<-- Notice "posts" and not "Posts"
}

이것은 $ this-> load가 객체 참조가 아니라는 것을 의미합니다 (대부분 null). 일단 이것을 알고 일단 결정하기 쉬운 이유.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top