Re al PS: No. Non c’è nessuna ragione.
Ritornando a noi:
Tabella dei Tipo di Stato
CREATE TABLE tbl_stato
(
id serial NOT NULL,
stato character varying(200),
CONSTRAINT pk_tbl_stato_id PRIMARY KEY (id )
)
Tabella degli stati dei progetti:
CREATE TABLE tbl_stato_progetto
(
id serial NOT NULL,
progetto_id integer NOT NULL,
stato_id integer NOT NULL,
createtime integer NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id ),
CONSTRAINT tbl_stato_progetto_progetto_id_fk_tbl_progetto_id FOREIGN KEY (progetto_id)
REFERENCES tbl_progetto (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT tbl_stato_progetto_stato_id_fk_tbl_stato_id FOREIGN KEY (stato_id)
REFERENCES tbl_stato (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
In questa tabella degli stati, ho fatto diverse INSERT di prova:
COPY tbl_stato_progetto (id, progetto_id, stato_id, createtime) FROM stdin;
1 2 0 1261146094
3 2 1 1341495925
2 2 6 1341302442
\.
L’sql riportato viene da un pg_dump nel caso non tornasse familiare qualcosa.
Penso che ormai la richiesta sia chiara, io vorrei poter stampare in una Gridview:
Tipo di Stato associato a stato_id (cosa che già faccio con la MANY::MANY impostata),
e createtime che non riesco ancora a leggere impostando solo la relazione postata:
'stato'=>array(self::MANY_MANY, 'StatoProgetto', 'tbl_stato_progetto(progetto_id, stato_id)','order'=>'createtime ASC'),
Per ora ho impostato una HAS::MANY, e una HAS::ONE per recuperare il singolo record che rappresenta l’ultimo stato salvato.
'stato'=>array(self::HAS_MANY, 'StatoProgetto', 'progetto_id','order'=>'createtime DESC'),
'stato_attuale'=>array(self::HAS_ONE, 'StatoProgetto', 'progetto_id','order'=>'createtime DESC'),
non era quello che mi ero prefissato, ma comunque funziona. Voi che dite?