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:31] – 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: | ||
| - | * **addDescribeRelation($tableName, | + | ===== Inizializzazione ===== |
| - | '' | + | Operazione da effettuare nell' |
| - | | + | **// |
| - | '' | + | Il metodo definisce la relazione fra la tabella principale ed una tabella collegata e prende i seguenti parametri: |
| - | * ** addUpdateOperation($tableName, $pks, $alias = null)**: Serve per aggiungere una nuova operazione di update su una specifica relazione. es. | + | * **$tableName** E' |
| - | '' | + | * **$keyMapping** E' un array contenente i campi della foreign key fra tabella principale e tabella collegata: |
| - | * ** addDeleteOperation($tableName, $pks, $alias | + | < |
| - | '' | + | $keyMapping = array( |
| + | | ||
| + | ); | ||
| + | </ | ||
| + | * **$tipoRelazione** Indica il tipo di relazione (1:1, 1:n, n:n, etc.) | ||
| + | * **$alias** | ||
| + | Esempio d'uso: | ||
| + | < | ||
| + | $this->addDescribeRelation(' | ||
| + | </ | ||
| + | ===== Definizione operazioni ===== | ||
| + | Risulta necessario definire le operazioni relative all' | ||
| + | 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, | ||
| + | * **// | ||
| + | * **// | ||
| + | * **// | ||
| - | Il parametro | + | ===== Restituzione dei dati relazionati ===== |
| + | La superclasse, | ||
| + | |||
| + | ==== 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.1476804662.txt.gz · Ultima modifica: (modifica esterna)
