Joomla.it Forum
Componenti per Joomla! => Gestione Form => : ilmagowalter 01 Feb 2016, 17:45:57
-
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 (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
-
ho eseguito la connessione con il debug attivo e il sistema mi ha visualizzato
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
-
@vales
help se puoi :)
-
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!