Back to top

Autore Topic: [Risolto]ChronoConnectivity V5.0.3 - Connessione con più model  (Letto 1938 volte)

Offline ilmagowalter

  • Esploratore
  • **
  • Post: 133
    • Mostra profilo
ciao,
ecco lo scenario
ho due tabelle
ANAGCLIENTE - che contiene l'anagrafica dei cliente e la cui PK è ID_CLIENTE
e
SEDEINSTALLAZIONI - che contiene tra i suoi campi anche ID_CLIENTE definito come chiave esterna di ANAGCLIENTE

con CCv5, ho creato una connessione con due models, quello principale SedeInstallazione basato sulla tabella SEDEINSTALLAZIONI e il secondo AnagCliente basato sulla tabella ANAGCLIENTE
ho impostato le relazioni e poi il front list
SedeInstallazione.ID_SEDE:ID
SedeInstallazione.ID_CLIENTE:ID_cliente
AnagCliente.DENOMINAZIONE:Cliente
SedeInstallazione.DESCRIZIONE:Descrizione

il problema che mi vengono visualizzati solo i dati proveniente da SedeInstallazione
di seguito la configurazione del secondo model

http://www.screencast.com/t/4hO2Vln6W

edit
son abbastanza convinto che la query tra i model funzioni, infatti ho provato ad impostare il tipo join con "right" e la lista propone il numero dei record che ho nella tabella ANAGCLIENTE, ma non visualizzando il contenuto dei campi
inoltre se metto su FOREIGN KEY un nome campo sbagliato di proposito, la pagina mi va in errore per campo non esistente
quindi sembrerebbe un problema di visualizzazione
« Ultima modifica: 02 Feb 2016, 17:09:14 da ilmagowalter »

Offline ilmagowalter

  • Esploratore
  • **
  • Post: 133
    • Mostra profilo
Re:ChronoConnectivity V5.0.3 - Connessione con più model
« Risposta #1 il: 01 Feb 2016, 18:08:30 »
ho eseguito la connessione con il debug attivo e il sistema mi ha visualizzato

Codice: [Seleziona]
SELECT
    `SedeInstallazione`.`ID_SEDE` AS `SedeInstallazione.ID_SEDE`,
    `SedeInstallazione`.`ID_CLIENTE` AS `SedeInstallazione.ID_CLIENTE`,
    `SedeInstallazione`.`DESCRIZIONE` AS `SedeInstallazione.DESCRIZIONE`,
    `SedeInstallazione`.`STATO` AS `SedeInstallazione.STATO`,
    `SedeInstallazione`.`PROVINCIA` AS `SedeInstallazione.PROVINCIA`,
    `SedeInstallazione`.`COMUNE` AS `SedeInstallazione.COMUNE`,
    `SedeInstallazione`.`INDIRIZZO` AS `SedeInstallazione.INDIRIZZO`,
    `SedeInstallazione`.`NUM_CIVICO` AS `SedeInstallazione.NUM_CIVICO`,
    `SedeInstallazione`.`ID_ECOBOX` AS `SedeInstallazione.ID_ECOBOX`,
    `SedeInstallazione`.`ID_DISPOSITIVO` AS `SedeInstallazione.ID_DISPOSITIVO`
FROM `sede_installazione` AS `SedeInstallazione` LEFT JOIN `anag_cliente` AS `AnagCliente` ON `SedeInstallazione`.`ID_CLIENTE` = `AnagCliente`.`ID_CLIENTE` LIMIT 10

non capisco, nella select non mette i campi di anagcliente...probabile sia per questo che non ho i dati

Offline ilmagowalter

  • Esploratore
  • **
  • Post: 133
    • Mostra profilo
Re:ChronoConnectivity V5.0.3 - Connessione con più model
« Risposta #2 il: 02 Feb 2016, 14:51:46 »
@vales
help se puoi  :)

Offline ilmagowalter

  • Esploratore
  • **
  • Post: 133
    • Mostra profilo
Re:ChronoConnectivity V5.0.3 - Connessione con più model
« Risposta #3 il: 02 Feb 2016, 16:41:22 »
EUREKA!
Son riuscito a fare funzionare il tutto
Mi permetto di scrivere la procedura a beneficio della community

Faccio uno schemino con tabelle semplificate per rendere la situazione più chiara ( ovviamente per ogni model selezionare la tabella del database corrispondente )

Tabella AnagCliente
ID_CLIENTE
DESCRIZIONE

Tabella AnagDispositivo
ID_DISPOSITIVO
DESCRIZIONE

Tabella SedeInstallazione
ID_SEDE
DENOMINAZIONE
ID_CLIENTE -> chiave esterna della tabella AnagCliente
ID_DISPOSITIVO -> chiave esterna della tabella AnagDispositivo

Model 1 -> SedeInstallazione
in questo model vanno inseriti tutti i campi che vogliamo recuperare dalle 3 tabelle, non solo quelli di SedeInstallazione, quindi nel campo "Field" scriveremo
ID_SEDE,DENOMINAZIONE,ID_CLIENTE,ID_DISPOSITIVO,AnagCliente.DESCRIZIONE,AnagDispositivo.DESCRIZIONE

Model 2 -> AnagCliente
Relation-> belongsTo
Associated Model -> SedeInstallazione ( obbligatorio se presenti altri model )
Foreign key -> ID_CLIENTE

Model 3 -> AnagDispositivo
Relation-> belongsTo
Associated Model -> SedeInstallazione ( obbligatorio se presenti altri model )
Foreign key -> ID_DISPOSITIVO

Su Front List/Column list scriviamo
SedeInstallazione.ID_SEDE:ID
SedeInstallazione.DENOMINAZIONE:Denominazione
AnagCliente.DESCRIZIONE:Descrizione Cliente
AnagDispositivo.DESCRIZIONE:Descrizione Dispositivo

Have Fun!

 



Web Design Bolzano Kreatif