rappresenta una tabella di stato. Con la relazione di tipo HAS_ONE prendo i valori dell’ultimo stato presente in tabella.
Nella mia Gridview, renderizzo i valori che mi interessa sapere dei vari progetti, e insieme a questi lo stato attuale in cui verte il progetto in questo modo:
tutto va benone, tranne il filtro che il suo lo fa! ma non come vorrei io.
Mettiamo caso che un progetto ha come stato attuale: APPROVATO. Se io filtro i progetti con stato APPROVATO, ok lo vedo, ma se io imposto il filtro su stato PRESENTATO (ad esempio), mi compare anche il progetto che ha come stato attuale APPROVATO, perchè chiaramente nella tabella degli Stati esiste quell’id di stato richiesto con il filtro.
Per questo tipo di problema ci sono diverse soluzioni. Io in genere aggiungo dei metodi pubblici al model. Nel tuo caso probabilmente farei qualche cosa di simile:
class MioModel extends CActiveRecord
{
public function getCertiValori()
{
return MioModel::model()->findAll(array(
'stato' => StatoProgetto::APPROVATO,
));
}
}
Non risolve il tuo problema nello specifico, ma potrebbe aiutarti a trovare una soluzione.