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: 2018/03/19 10:45 (modifica esterna)