2015-07-02 37 views
0

我有CakePHP的CakePHP的错误 “模式是不与模型关联......”

代理模式的麻烦:agent.php

class Agent extends AppModel{ 
    var $name = 'Agent'; 

    var $belongsTo = array(
    'Arrival'=>array(
     'className'=>'AirTime', 
     'foreignKey'=>'arrival_id' 
    ), 
    'Departure'=>array(
     'className'=>'AirTime', 
     'foreignKey'=>'departure_id' 
    )); 
} 

的通话时间型号:airtime.php

class AirTime extends AppModel{ 
    var $name = 'AirTime'; 
} 

控制器:agentController.php

 $condition = array(
      'limit'=>20, 
      'contain'=>array(
       'Arrival'=>array(
        'fields'=>array('airline_id','flight_num'), 
        'Airline'=>array('fields'=>'code') 
       ), 
       'Departure'=>array(
        'fields'=>array('airline_id','flight_num'), 
        'Airline'=>array('fields'=>'code') 
       ) 
      ) 
     ); 

     $this->Agent = ClassRegistry::init('Agent'); 
     $this->paginate=$condition; 
     $data = $this->paginate('Agent'); 

当我运行它,我得到以下错误:

Warning (512): Model "Agent" is not associated with model "Arrival" [CORE/cake/libs/model/behaviors/containable.php, line 343] 
Warning (512): Model "Agent" is not associated with model "Departure" [CORE/cake/libs/model/behaviors/containable.php, line 343] 

我不知道如何解决这个问题,并希望一些帮助。

+1

'调试(get_class($这个 - >代理))' - 这不是你的类,因为[模型文件名是错误的(HTTP:/ /book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#file-and-class-name-conventions)。在控制器中使用'uses'或loadModel是一个更好的主意。如果这在您的Agents控制器中,那么$ this-> Agent'会默认加载。通常,使用烘烤cli脚本避免了这些问题。 – AD7six

回答