我的gal_provider
模型中有一个belongsTo数组,如下所示:
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => 'User.name'
),
)
模型gal_provider
中包含的大多数功能都需要根据用户名对结果进行排序。但是有一个名为recevtProviders()
的函数不需要这个命令。所以我试过
$order = "";
$gal_providers = $this->find("all",array("conditions"=>$conditions,"recursive"=>$recursive,
"fields"=>$fields,"limit"=>$limit,"order"=>$order));
BUt生成的查询仍显示ORDER BY "User.name"
。如何仅从此功能中禁用此order
?
答案 0 :(得分:0)
我相信你传递的订单参数只会影响gal_provider模型。在您的查找呼叫之前尝试此操作,以从相关模型中删除订单:
$this->belongsTo['User']['order'] = '';
此外,如果您不使用它,则Containable是一种非常有用的行为。使用可包含的,可以禁用用户模型上的顺序,如下所示:
$this->find("all",array("conditions"=>$conditions,"recursive"=>$recursive,
"fields"=>$fields,"limit"=>$limit,"order"=>$order,"contain" => array("User" => array("order" => ""))));