Cakephp 模型关联的未知列错误
我有两个相关模型:Cakephp 模型关联的未知列错误,cakephp,Cakephp,我有两个相关模型: 这里有很多运动项目 运动属于位置 在我的运动车型中,我使用以下顺序: public $order = 'Location.name ASC, Sport.name ASC'; 没问题。问题是,当我试图通过位置模型删除记录时,我在ON子句中得到一个未知列错误,它使用的是运动模型顺序: SELECT `Sport`.`id` FROM `scheduler`.`sports` AS `Sport` WHERE `Sport`.`location_id` = 6 ORDER BY
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关联中有'dependent'=>true,因此我希望它删除运动记录,但是为什么select语句没有正确地加入Location表呢。我将递归设置为1。如果我按顺序删除Location.name,它会正常工作
cakePHP有点新。使用2.x从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'
)
));
或者,在您的运动车型中留下$order,但它只能是:
public $order = array('Sport.name'=>'ASC');
并在位置模型中添加一个类似的:
public $order = array('Location.name'=>'ASC');