sviluppo:cityware_relazioni
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
sviluppo:cityware_relazioni [2016/10/18 13:43] – l.cardinali | sviluppo:cityware_relazioni [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== Relazioni ====== | ====== Relazioni ====== | ||
- | All' | + | ====== Iter di gestione delle relazioni |
+ | La gestione delle relazioni può venir definita in 3 fasi principali così divise: | ||
- | | + | ===== Inizializzazione ===== |
+ | Operazione da effettuare nell' | ||
+ | |||
+ | **//addDescribeRelation($tableName, | ||
+ | Il metodo definisce la relazione fra la tabella principale ed una tabella collegata e prende i seguenti parametri: | ||
+ | * **$tableName** E' il nome della tabella collegata alla principale | ||
+ | * **$keyMapping** E' un array contenente i campi della foreign key fra tabella principale e tabella collegata: | ||
+ | < | ||
+ | $keyMapping = array( | ||
+ | ' | ||
+ | ); | ||
+ | </ | ||
+ | * **$tipoRelazione** Indica il tipo di relazione | ||
+ | * **$alias** Indica un alias per la relazione, è necessario nel caso la tabella primaria abbia più relazioni verso la stessa tabella (es. tabella delle località che può essere collegata ad un soggetto sia per il luogo di nascita che per la residenza). | ||
+ | Esempio d' | ||
+ | < | ||
$this-> | $this-> | ||
+ | </ | ||
+ | |||
+ | ===== Definizione operazioni ===== | ||
+ | Risulta necessario definire le operazioni relative all' | ||
- | | + | Sono previste 3 operazioni: |
- | $this-> | + | ==== addInsertOperation() ==== |
- | * **$pulsanti**: array di dati che rappresenta i pulsanti | + | Inserimento di una nuova riga, prende in input 2 parametri: |
+ | | ||
+ | * **//$alias//**: (opzionalmente) l' | ||
+ | ==== addUpdateOperation() ==== | ||
+ | Modifica | ||
+ | * **// | ||
+ | * **// | ||
+ | * **//$alias// | ||
+ | ==== addDeleteOperation() ==== | ||
+ | Eliminazione di una riga preesistente, | ||
+ | * **// | ||
+ | * **//$keys//**: array associativo contenente la primary key della riga da eliminare. L' | ||
+ | * **// | ||
+ | ===== Restituzione dei dati relazionati ===== | ||
+ | La superclasse, | ||
- | Il parametro | + | ==== getDataRelation() ==== |
+ | Il metodo getDataRelation restituisce un array contenente tutti i dati relazionati così come vengono letti dal database, quindi i dati definiti precedentemente alle modifiche effettuate. | ||
+ | Il metodo riceve in input il tipo di operazione che sta venendo effettuata sul record principale (inserimento/ | ||
+ | Il metodo deve restituire in output un array in tale forma: | ||
+ | < | ||
+ | return array( | ||
+ | | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ... | ||
+ | ), | ||
+ | array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ... | ||
+ | ), | ||
+ | ... | ||
+ | ), | ||
+ | ' | ||
+ | ... | ||
+ | ) | ||
+ | ); | ||
+ | </ | ||
+ | ==== getDataRelationView() ==== | ||
+ | Questo metodo restituisce i soli dati modificati di una specifica relazione. | ||
+ | Il metodo fornisce | ||
+ | I dati devono essere restituiti sotto forma di array di array e contenere unicamente i dati modificati. | ||
+ | Nel caso di eliminazione di righe tali righe non devono comparire nell' | ||
sviluppo/cityware_relazioni.1476798236.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)