Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [CakePHP]aggiungere colonne al DB

    Salve

    Un po' per necessita' un po' per curiosita' ho cominciato a studiare cakephp(doc ufficiale inglese) solo che ora avrei bisogno di aggiungere colonne a un db in automatico, devo usare la funzione per inviare una query custom o esiste qualche metodo che mi permetta di farlo in modo specifico?


  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Per quale motivo vuoi aggiungere delle colonne?
    ti faccio un esempio su un lavoro che sto iniziando:
    devo sviluppare un bokking per hotel ora vorrei dare la possibilita' al gestore di poter aggiungere diversi tipi di camere in quanto alcuni hotel tendono a personalizzare i nomi.Ora io avrei pensato che quando si aggiunge un nuovo tipo di camera si aggiungano 2 colonne(nella tabella dove sono sono salvati i dati struttura) per il nuovo tipo(una con un valore boolean per sapere se il tipo di camera e attivato o meno e un altro con la descrizione del tipo di camera).

    forse si potrebbe strutturare meglio...Qualcuno a qualche idea?

  4. #4
    Ti suggerisco di ricominciare dalla teoria di base dello sviluppo dei database.

    In una situazione come quella descritta la soluzione più logica e comune è quella di avere una tabella denominata, ad esempio, tipologie_camere con una struttura come questa:

    Codice PHP:
    CREATE TABLE tipologie_camere (
      
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      
    camera VARCHAR(255NULL,
      
    descrizione TEXT NULL,
      
    abilitata BOOL NULL,
      
    PRIMARY KEY(id)
    ); 
    Quando l'utente deve aggiungere un nuovo tipo di camere non fa altro che inserire un nuovo record.

  5. #5
    Originariamente inviato da filippo.toso
    Ti suggerisco di ricominciare dalla teoria di base dello sviluppo dei database.

    In una situazione come quella descritta la soluzione più logica e comune è quella di avere una tabella denominata, ad esempio, tipologie_camere con una struttura come questa:

    Codice PHP:
    CREATE TABLE tipologie_camere (
      
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      
    camera VARCHAR(255NULL,
      
    descrizione TEXT NULL,
      
    abilitata BOOL NULL,
      
    PRIMARY KEY(id)
    ); 
    Quando l'utente deve aggiungere un nuovo tipo di camere non fa altro che inserire un nuovo record.
    solo che si tratta di una struttura molti a molti (ci sono tanti hotel e ognuno puo avere diverse tipologie di camere....)
    per questo avevo pensato a aggiungere delle colonne

  6. #6
    solo che si tratta di una struttura molti a molti (ci sono tanti hotel e ognuno puo avere diverse tipologie di camere....)
    E dove sta il problema?

    Codice PHP:
    CREATE TABLE tipologie_camere (
      
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      
    hotel_id INTEGER UNSIGNED NOT NULL,
      
    camera VARCHAR(255NULL,
      
    descrizione TEXT NULL,
      
    abilitato BOOL NULL,
      
    PRIMARY KEY(id),
      
    INDEX tipologie_camere_FKIndex1(hotel_id)
    ); 

  7. #7
    e come farei ad associare diversi tipi di camere a un hotel?

  8. #8
    Magari utilizzando il campo hotel_id indicato nella seconda struttura postata ...

  9. #9
    capito tutto ho creato un modello tutto a posto......

    Ti ringrazio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.