2016-07-18 2 views
0

2000, 1066, 고유 테이블/별칭이 아닙니다. '카테고리'이 오류가 발생했습니다. 나는 그 문제가 무엇인지 잘 알고있다.PHP 활성 레코드 :: 2000, 1066, 고유 테이블/별칭 : '카테고리'

내 코드 : 쿼리

SELECT `category`.* FROM `category` INNER JOIN `category` ON(`category`.parent_id = `category`.category_id) 
내가 별칭를 사용할 필요가

하지만 PHP에서 별칭을 사용하는 방법을 모르는 액티브

아래

static $belongs_to = array(
     array('Parent', 
       'foreign_key'=>'parent_id',    
       'class_name'=>'categoryModel', 
      ), 
     array('gallery','class_name'=>'galleryModel','foreign_key'=>'image_id'), 

    ); 

genrate 모델 코드 :

와 AppModel을 코드 ​​:

나는 핵심 코드 변경하기를 사용하여 수행 한
<?php 
class appModel extends ActiveRecord\Model{ 
    public $app,$attr; 
    public $db_config; 

    function __construct(array $attributes=array(), $guard_attributes=true, $instantiating_via_find=false, $new_record=true){ 
     parent::__construct($attributes, $guard_attributes,$instantiating_via_find, $new_record); 
    } 


    function __call($key,$value){ 
     parent::__call($key,$value); 
    } 

    public function load($data){ 
     foreach($this->attributes as $attr=>$value){ 
      if(!isset($this->attr["".$attr])){ 
       //if(isset($data[$attr])) $this->attr["".$attr] = $data[$attr]; 
       if(isset($data[$attr])) $this->attributes["".$attr] = $data[$attr]; 
      } 
     } 
    } 
} 
+0

포함 된 코드가 해당 쿼리를 생성합니까? 별칭 문제가 있다고 생각합니다. –

+0

예,이 쿼리는 @TimBiegeleisen을 생성합니다. –

답변

0

.

변경 Table.php 에서

방법 : create_joins($joins)

if (array_key_exists($rel->class_name,$existing_tables)) 
{ 

         $alias = $value; 
         $existing_tables[$rel->class_name]++; 
}else{ 
         $existing_tables[$rel->class_name] = true; 
         $alias = NULL; // change this to $alias = $value; 

} 

변화가

if (array_key_exists($rel->class_name,$existing_tables)) 
{ 

         $alias = $value; 
         $existing_tables[$rel->class_name]++; 
}else{ 
         $existing_tables[$rel->class_name] = true; 
         $alias = $value; 

} 

$ 값은 관계 이름

입니다
관련 문제