que tienen una tabla de usuarios:Tabla consejos de diseño
user_id - name
Y los usuarios pueden crear un artículo y luego compartirlo con otros miembros, artículos de mesa:
article_id - user_id - article_name
La pregunta es la mejor manera de compartirlo ... estoy pensando en otra mesa article_shares:
share_id - article_id - user_id
esto simplemente una lista de todos los usuarios con acceso a la Aerticle y el creador tendrían acceso para poder agregar o eliminar de esa tabla el artículo que crearon
Por lo tanto, cuando el creador del artículo (user_id 123) mira sus artículos, puede ver una lista de todos los demás usuarios que ha compartido cada artículo 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'
y un usuario (user_id 456) puede ver una lista de artículos que han sido compartidos
select a.article_name from articles a
join article_shares as on as.article_id = a.article_id
where as.user_id = '456'
¿Le parece lógico? ¿Estoy en el camino correcto?
Gracias por cualquier ayuda
sí me parece bien. Necesita una forma de relacionar los artículos compartidos con los usuarios que pueden verlos, no se me ocurre una manera más fácil. – Jay
@Jay Gracias, solo aprendí acerca de las combinaciones hace dos días, ¡así que gracias por tomarse el tiempo para echar un vistazo! –
Estás en el camino correcto. Una vez que se sienta cómodo con el uso de JOIN, y todas sus formas (INTERIOR, IZQUIERDA, etc.) ¡puede sentir que no hay nada que no pueda hacer! :) –