Ciao ragazzi.
Oggi sono molto stanco (troppo lavoro in troppo poco tempo) e ho un problemino che mi lascia dei dubbi riguardo la corretta solzuione.
In pratica io ho una serie di utenti, ognuno dei quali ha una serie di contatti. Attraverso una procedura, un utente può invitare altre persone a iscriversi e nella tabella utente salvo l'informazione riguardo a chi ha mandato l'invito. La necessità è di fare in modo che se quel tal nuovo iscritto fa già parte dei miei contatti, io ne possa recuperare le info.
Il sistema di iscrizione fa una verifica sulla email, in modo che non possano esserci due utenti con la stessa mail, ma lato contatti non c'è (e non deve esistere) questo controllo, ovviamente.
Un contatto è "mio" perchè ho un campo che ne definisce il proprietario, quindi nessun'altro potrà vedere i dati di quel contatto. Ogni utente ha un contatto "speciale" che rappresenta "se stesso".
Avevo quindi pensato di appoggiarmi a una tabella di cross dove registro l'id utente e l'id del contatto "speciale", in modo che possa sapere che l'utente 99 ha invitato il neo utente 1234 (contatto originale 8), che ha preso id contatto "speciale" 5678, così nella tabella cross mi ritrovo 99->5678 e quindi potrò recuperare le info del contatto di 1234, quindi le info di 5678, per l'utente 99.
Secondo me è un buon ragionamento perchè mi tiene salvo i dati originali del contatto 1234 (quelle che ha inserito l'utente in fase di iscrizione) e al contempo mi tengo salve le info del contatto 8. In questo modo tra l'altro posso fare in modo che io veda i "doppi dati", quelli che aggiorna l'utente 99 e quelli miei (p.e. nel mio contatto 8 ho un'altra mail che però l'utente 99 non ha inserito nel suo profilo) e possa quindi decidere in futuro o di aggregarli o di tenerne solo una parte.
Che ne dite? Vedete un'altra strada migliore?
Grazie
![]()