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 15:21] – 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-> | ||
+ | </ | ||
- | * **addInsertOperation($tableName, | + | ===== Definizione operazioni ===== |
- | | + | Risulta necessario definire le operazioni relative all'inserimento, modifica e cancellazione dal database delle righe specifiche sulle tabelle relazionate, questa |
- | * ** addUpdateOperation($tableName, | + | |
- | $this-> | + | |
- | * ** addDeleteOperation($tableName, $pks, $alias = null)**: Serve per aggiungere una nuova operazione di delete su una specifica relazione. es. | + | |
- | | + | |
+ | Sono previste 3 operazioni: | ||
+ | ==== addInsertOperation() ==== | ||
+ | Inserimento di una nuova riga, prende in input 2 parametri: | ||
+ | * **// | ||
+ | * **// | ||
+ | ==== addUpdateOperation() ==== | ||
+ | Modifica di una riga preesistente, | ||
+ | * **// | ||
+ | * **// | ||
+ | * **// | ||
+ | ==== addDeleteOperation() ==== | ||
+ | Eliminazione di una riga preesistente, | ||
+ | * **// | ||
+ | * **// | ||
+ | * **// | ||
+ | ===== 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.1476804077.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)