Select Yii无法检索最大列值
我有两个模型,一个是拍卖,另一个是出价 拍卖有许多出价。它们通过投标中的外键拍卖id关联 现在,我想找到每次拍卖出价的最大值Select Yii无法检索最大列值,select,yii,max,relational,Select,Yii,Max,Relational,我有两个模型,一个是拍卖,另一个是出价 拍卖有许多出价。它们通过投标中的外键拍卖id关联 现在,我想找到每次拍卖出价的最大值 $dataProvider = new CActiveDataProvider('Auction', array('criteria' => array( 'with' => array( 'bids' => array(
$dataProvider = new CActiveDataProvider('Auction', array('criteria' => array(
'with' => array(
'bids' => array(
'alias'=>'b',
'group' => 'auction_id',
'select' => 'max(b.price) as maxprice'
)
)
)
)
);
我在Auction的模型类中定义了maxprice属性
但是,如果我尝试检索maxprice属性,它将返回NULL
更具体地说,我将$dataprovider呈现给一个视图页面,它无法获取maxprice属性
PS:
我在mysql中执行了查询,查询结果证明是正确的
所以,Yii代码一定有问题
SQL代码:
SELECT `t`.`id` , max(b.price) as maxprice
FROM `auction` `t`
LEFT OUTER JOIN `bid` `b` ON (`b`.`auction_id`=`t`.`id`) GROUP BY auction_id
将所需的值放在关系之前,如下所示:
$dataProvider = new CActiveDataProvider('Auction', array('criteria' => array(
'select' => 't.*, max(b.price) as maxprice',
'with' => array(
'bids' => array(
'alias'=>'b',
'group' => 'auction_id',
'together'=>true,
)
如果愿意,可以用特定的字段名替换“t.*”
或者,您可以简单地使用拍卖模型上的选择、加入和分组属性,完全跳过关系