Ho un utente tavolo:Tabella disegno consiglio
user_id - name
E gli utenti possono creare un articolo e poi condividerlo con gli altri membri, articoli da tavola:
article_id - user_id - article_name
la domanda è il modo migliore condividerlo ... sto pensando un altro article_shares tavolo:
share_id - article_id - user_id
Questo sarebbe semplicemente elencare tutti gli utenti con accesso a tale Aerticle e il creatore avrebbero avuto la possibilità di aggiungere o cancellare da quella tabella per l'articolo che hanno creato
Quindi, quando l'autore dell'articolo (user_id 123) guarda i suoi articoli può vedere una lista di tutti gli altri utenti che ha ha condiviso ogni articolo con
select as.user_id, a.article_name from article_shares as
join users u on u.user_id = as.user_id
join articles a on a.article_id = as.article_id where u.user_id = '123'
e un utente (user_id 456) in grado di visualizzare un elenco di articoli che sono stati condivisi
select a.article_name from articles a
join article_shares as on as.article_id = a.article_id
where as.user_id = '456'
Vi sembra logico? Sono sulla buona strada?
Grazie per qualsiasi aiuto
mi sembra ok. Hai bisogno di un modo per mettere in relazione gli articoli condivisi con gli utenti che possono vederli, non riesco a pensare a un modo più semplice. – Jay
@Jay Grazie, mi sono insegnato solo a unirmi due giorni fa quindi grazie per aver dedicato del tempo per dare un'occhiata! –
Sei sulla strada giusta. Una volta che hai familiarizzato con l'uso di JOIN, e tutte le sue forme (INTERNE, SINISTICHE, ecc.) Potresti sentire che non c'è nulla che tu non possa fare! :) –