2013-10-03 3 views
0

실제 오류 내가 갖는 :CakePHP의 트리 동작 오류

구문 오류 또는 액세스 위반 : 1064 당신은 당신의 SQL 구문에 오류가있다; 그것은 나에게 견과류를 구동하고이 제기되고있는 이유를 상상조차하지 않는 라인 1

에 가까운 '아이'를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전 에 해당하는 설명서를 확인. 내 컨트롤러 CategoryController.php에서

내가 가진 :

모델 Category.php에서
public function index($id = null) { 
    $this->set('categories', $this->Category->children($id, true)); 

:

public $actsAs = array('Containable', 'Tree'); 

CakePHP의 버전 : 때 모델 2.4.1 내 경험에서

+0

디버그 모드를 활성화하고 Cake가 수행하는 SQL 쿼리를 공유하십시오. 오류 메시지에 명확하게 설명되어있는 것처럼 SQL 구문 오류가 있습니다. – tholu

+0

SQL 쿼리를 생성하는 지점에 도달하지 못했습니다. – Morpheus

+0

@Mopheus 분명히 MySQL 구문 오류가 발생하는 경우입니다. –

답변

1

, 이것은 단지 일어날 수있다 구성이 잘못되어 모델이 AppModel로 돌아갑니다.

$this->Category을 디버깅해야합니다.

public $belongsTo = array(
    'Category' => array(
     'className' => 'PluginName.Category', 
     'foreignKey' => 'category_id', 
    ) 
); 

프로 팁 : 사고 나에게 이런 일을 방지하기 위해, 나는 다음 코드 개발 설정에 포함했다 : https://github.com/dereuromark/tools/blob/master/Model/MyModel.php#L45

예를 들어, 플러그인 내부 , 당신은 플러그인 이름을 포함하여 관계를 정의해야
+0

나는 당신의 도구를 다시 한 번 upvote 것이다. 잘 하셨어요! – Morpheus