This is my controller action
public function actionIndex()
{
//Supervisor non possono vedere brani OPEN
//Gerard (manager) non puo vedere OPEN/REJECTED/PROPOSED/CLOSED
//Editor non puo vedere APERTO/PROPOSTO/REJECTED se non suo
$with = array(
propostoCount ,
pubblicatoCount ,
pendingCount ,
apertoCount ,
rifiutatoCount ,
chiusiCount ,
);
$condition = propostoCount=1 AND pubblicatoCount=1 AND pendingCount=1 AND rifiutatoCount=1 AND chiusiCount>0 ;
$dataProvider=new CActiveDataProvider( Brano , array(
criteria =>array(
with =>$with,
condition =>$condition,
order => id DESC ,
),
pagination =>array(
pageSize =>5,
),
));
$this->render( index ,array(
dataProvider =>$dataProvider,
));
}
这些是我在布拉诺模式中的关系:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
proposto => array(self::HAS_ONE, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PROPOSED, order => ultimo_aggiornamento DESC ),
pubblicato => array(self::HAS_ONE, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PUBLISHED, order => ultimo_aggiornamento DESC ),
pending => array(self::HAS_ONE, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PENDING, order => ultimo_aggiornamento DESC ),
aperto => array(self::HAS_ONE, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_OPEN, order => ultimo_aggiornamento DESC ),
rifiutato => array(self::HAS_ONE, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_REJECTED, order => ultimo_aggiornamento DESC ),
chiusi => array(self::HAS_MANY, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_CLOSED, order => ultimo_aggiornamento DESC ),
propostoCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PROPOSED ),
pubblicatoCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PUBLISHED ),
pendingCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_PENDING ),
apertoCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_OPEN ),
rifiutatoCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_REJECTED ),
chiusiCount =>array(self::STAT, BranoVersione , brano_id , condition => stato= .BranoVersione::STATUS_CLOSED ),
);
}
当我试图管理时,它说:
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column propostoCount in where clause . The SQL statement executed was: SELECT COUNT(DISTINCT t
.id
) FROM brano
t
WHERE (propostoCount=1 AND pubblicatoCount=1 AND pendingCount=1 AND rifiutatoCount=1 AND chiusiCount>0)