Non archiviare un elenco separato da virgole ("array") in una colonna del database. Utilizza una tabella di riferimento incrociato .
(Se vuoi applicare la condizione "non più di 3 categorie" nel database, puoi aggiungere una colonna aggiuntiva category_number
alla tabella di riferimento incrociato. Idealmente dovresti quindi utilizzare un vincolo di controllo per limitare quella colonna ai valori 1, 2 e 3, ma MySQL non supporta i vincoli di controllo; invece potresti creare il category_number
colonna una chiave esterna in un'altra tabella permitted_category_number
che ha tre righe.)