2014-10-06 6 views
1

그래서 두 개의 케이크 응용 프로그램 (하나는 사이트 프런트 엔드, 다른 하나는 관리 대시 보드)이 있고 모든 모델이 내 관리 앱에 선언되어 있으므로 웹 사이트의 응용 프로그램 :Cakephp에서 내 모델을 찾을 수 없습니다

App::build(
    array('Model' => array(
     Configure::read('Extranet.path') . 'app/Model') 
    ), App::RESET); 

이 내가 할 때부터 잘 작동하는 것 같다 :

var_dump(App::objects('Model'), false); 

를 내가 얻을 :

array(19) { [0]=> string(8) "AppModel" [1]=> string(6) "Banner" [2]=> string(5) "Brand" [3]=> string(8) "Category" [4]=> string(12) "CategorySize" [5]=> string(5) "Color" [6]=> string(8) "Customer" [7]=> string(11) "EntityImage" [8]=> string(6) "Gender" [9]=> string(5) "Group" [10]=> string(5) "Image" [11]=> string(10) "Newsletter" [12]=> string(10) "Permission" [13]=> string(7) "Product" [14]=> string(12) "ProductImage" [15]=> string(4) "Size" [16]=> string(6) "Status" [17]=> string(11) "UsageStatus" [18]=> string(4) "User" } bool(false) 

이 보이는 케이크 R은 같은

<?php 
class PagesController extends AppController { 
    public $helpers = array('Html', 'Form'); 
    public $components = array('Paginator', 'Permission'); 
    public $uses = array('User'); 

    public function index() { 
     var_dump(App::objects('Model'), false); 
     $this->User->test(); 
     $this->set('page', 'home'); 
    } 
} 

내가 할 모든은 다음과 같습니다 : 내 검색 수에 따라

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test' at line 1 

, 케이크가 똑같이 SQL 쿼리를 수행하려고 내가하려고하지만 때, 나의 모델을 ecognizing하는 것은 특정 메소드 호출 메서드 이름은 모델 클래스를 찾지 못하기 때문입니다 (하지만 App :: 개체를 덤프 할 때 발견됩니다).

내 모델을로드 할 수없는 이유를 알아 내기 위해 어떻게해야하는지 알지 못했습니다. 내 얼굴에 소리를 지르지 않고 내게 케이크가 숨겨져 있다는 것을 알게되었습니다.

어떻게해야합니까?


편집

: 그것은/응용 프로그램/모델에서 해당 파일을 찾을 수없는 경우

CakePHP를 동적으로 당신을 위해 모델 객체를 생성합니다 : 이 CakePHP의 문서에서 텍스트의 조각이다. 이는 모델 파일 이름이 올바르게 지정되지 않은 경우 (예 : Ingredient.php가 아니라 ingredients.php 또는 Ingredients.php 인 경우) CakePHP는 모델 파일 (CakePHP가 아닌 AppModel 인스턴스)을 사용합니다. 가정은 없다). 모델에 정의한 메서드 또는 모델에 연결된 동작을 사용하려고하고 호출하는 메서드의 이름 인 SQL 오류가 발생하는 경우 CakePHP 모델을 찾을 수 없으며 파일 이름, 응용 프로그램 캐시 또는 둘 모두를 확인해야합니다.

하지만, 내 파일이 올바르게 User.php라는, 내 캐시 폴더는 완전히 비어 있습니다 만 내 bootstrap.php에 Configure::write('Cache.disable', true); 있습니다.

적어도 어떤 파일을 알아내는 방향으로 케이크 PHP를로드하려고하면 좋을 것입니다. 감사. 이 소리

+1

사용자 모델에 test() 메소드가 있습니까 ?? – SkarXa

+0

예, 할 수 있습니다 (관리자 대시 보드 앱에서 잘 사용할 수 있습니다). –

답변

0

세 시간 후에 var_dumps의 무리, 나는 그건

Configure::read('Extranet.path') . 'app/Model/') 

Configure::read('Extranet.path') . 'app/Model') 

변화의 문제이고, 홀수로 오류를 발견했습니다 이 명확하게 다음과 같이 명시 적으로 말하면서 맹목적으로 복사하면 얻을 수있는 것 :

Cakephp는 어떤 일이 일어나고 있는지 알려주지 않고 간단하게 진행하는 대신 좋을 수 있습니다.