Implementare la personalizzazione dei record

-1

Ho le seguenti tabelle:

  1. Organizzazione.
  2. Articoli
  3. Modelli

L'organizzazione è l'elemento principale di entrambi gli articoli e i modelli.

Nella pagina dell'indice degli articoli, visualizzo (per impostazione predefinita) tutti i modelli per l'organizzazione.

Ecco il mio problema. Come aggiungo la possibilità di personalizzare quali modelli sono mostrati per ciascun articolo?

Potrei creare una tabella ArticleTemplates con lo schema seguente:

  1. id
  2. article_id
  3. template_id
  4. included_on_article (campo booleano che indica se il modello deve essere incluso nell'articolo)

Ma poi vedo dei problemi con questo:

  1. L'aggiunta di nuovi record a ArticleTemplates sembra clunky, in quanto dovrebbe cambiare ogni volta che un nuovo modello è stato aggiunto all'organizzazione.
  2. Poiché ogni articolo di solito avrà tutti i modelli, ci saranno molti record in ArticleTemplates che sono gli stessi.

Qualche soluzione migliore?

    
posta NathanB 30.05.2018 - 18:21
fonte

1 risposta

0

Non è necessario avere un campo booleano nella tabella ArticleTemplates per indicare se tempalte deve essere incluso nell'articolo.

Poiché hai menzionato come ogni articolo di solito avrà tutti i modelli - puoi creare una tabella "aggregata" che conterrà solo modelli esclusi dagli articoli

ExcludedTemplates
    ArticleId
    TemplateId

Nell'applicazione creerai un ambito che carica solo i modelli dell'articolo che non esiste nella tabella ExcludedTemplates .

Con questo approccio il nuovo modello verrà automaticamente incluso in tutti gli articoli senza creare migliaia di nuovi record.

    
risposta data 01.06.2018 - 08:53
fonte

Leggi altre domande sui tag