我在我的数据库中有两个表格,这些表格用于显示基于网格的信息表格。目前,我只有代码显示的信息为一个表(代码如下所示)在一个网格视图中显示两个表中的信息
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'aux-room-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'room',
'capacity',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
我,因为我有能力我也想拿到占用的基础上,有多少行被关联到一个房间号码这在我的第二张桌子上。我知道,如果不使用PHP,这看起来可能相当简单,但我对Yii很陌生,不明白我如何才能对另一个模型进行计数。要找到占用情况,我需要使用表1中第一列的房间#
简而言之:我需要count()与第一列中房间号相关联的行。我需要显示房间和容量的原始表格内容,但需要在这两列之间占用。我如何使用Yii来做到这一点?
SQL两个表:
CREATE TABLE IF NOT EXISTS `cs_people`.`aux_room` (
`room` VARCHAR(20) NOT NULL ,
`capacity` VARCHAR(20) NULL ,
PRIMARY KEY (`room`))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `cs_people`.`room_desk` (
`userid` VARCHAR(8) NOT NULL ,
`room` VARCHAR(20) NULL ,
`desk` VARCHAR(250) NULL ,
PRIMARY KEY (`userid`) ,
INDEX `room_desk.room_idx` (`room` ASC) ,
CONSTRAINT `room_desk.userid`
FOREIGN KEY (`userid`)
REFERENCES `cs_people`.`people` (`userid`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `room_desk.room`
FOREIGN KEY (`room`)
REFERENCES `cs_people`.`aux_room` (`room`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
您是否阅读过http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query? – soju 2013-03-25 19:55:42