그래서 두 개의 케이크 응용 프로그램 (하나는 사이트 프런트 엔드, 다른 하나는 관리 대시 보드)이 있고 모든 모델이 내 관리 앱에 선언되어 있으므로 웹 사이트의 응용 프로그램 :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를로드하려고하면 좋을 것입니다. 감사. 이 소리
사용자 모델에 test() 메소드가 있습니까 ?? – SkarXa
예, 할 수 있습니다 (관리자 대시 보드 앱에서 잘 사용할 수 있습니다). –