문제
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). 일단 이것을 알고 일단 결정하기 쉬운 이유.
제휴하지 않습니다 StackOverflow