2013-02-14 57 views
0

我有兩個相關的模型:未知科拉姆錯誤

  1. 位置的hasMany體育
  2. 運動屬於關聯位置

在我的運動版車型,我使用這個命令:

public $order = 'Location.name ASC, Sport.name ASC'; 

那裏沒問題。問題是,當我嘗試通過選址模型,我在ON子句中得到一個未知列的錯誤,其中使用了運動版車型爲了刪除一條記錄:

SELECT `Sport`.`id` FROM `scheduler`.`sports` AS `Sport` WHERE `Sport`.`location_id` = 6 ORDER BY `Location`.`name` ASC, `Sport`.`name` ASC 

我有「依賴」 =>在Location hasMany關聯中爲true,所以我期望它刪除體育記錄,但爲什麼select語句沒有正確地加入Location表。我遞歸設置爲1.如果我刪除順序中的Location.name,它工作正常。

有點新蛋糕PHP。使用2.x

回答

0

刪除Sport中的$ order - 模型中的$ order定義模型的默認排序順序 - 不是任何相關模型。

如果您需要訂購查詢,像這樣做:

$results = $this->Sport->find('all', array(
    'conditions'=>array(...), 
    'contain'=>array(
     'Location'=>array(
      'order'=>array('Location.name'=>'ASC') 
     ) 
    ), 
    'order'=>array(
     'Sport.name'=>'ASC' 
    ) 
)); 

或者,離開$爲了在你運動版車型,但它應該只是:

public $order = array('Sport.name'=>'ASC'); 

,並添加與位置模型類似:

public $order = array('Location.name'=>'ASC');