Back to top

Autore Topic: joomla e foreign key set to null  (Letto 1042 volte)

Offline baldo

  • Esploratore
  • **
  • Post: 65
  • Sesso: Maschio
    • Mostra profilo
joomla e foreign key set to null
« il: 29 Mag 2013, 20:00:45 »
ciao

joomla e foreign key

in una tabella del db ho un campo fornitore_id fk che deve potere assumere valori 'vuoti' ossia valori che non ci sono nella tabella collegata

da come la vedo si puo gestire in due modi:
 - creare una relazione fisica nel database, in questo caso il campo lo creo fornitore_id int null default null
 - non creare una reazione, in questo caso il campo lo creo fornitore_id int not null default 0

nel primo caso la relazione impedirebbe di inserire il valore zero perchè non esiste nell'id della tabella collegata


domanda
esiste in joomla una istruzione in per fare in modo che
<select name="fornitore_id">
<option value=""> seleziona </option>
nella query di update il campo sia valorizzato null
fornitore_id = null      (ok)

e non
fornitore_id = ''      ERRORE 1452 - Cannot add or update a child row: a foreign key constraint fails

grazie
semplicità ... al sol nominarla sembra svanire

mau_develop

  • Visitatore
Re:joomla e foreign key set to null
« Risposta #1 il: 29 Mag 2013, 20:18:31 »
capito nulla...
quali sono le due tabelle da unire e che chiave hanno in comune?

Offline baldo

  • Esploratore
  • **
  • Post: 65
  • Sesso: Maschio
    • Mostra profilo
Re:joomla e foreign key set to null
« Risposta #2 il: 29 Mag 2013, 20:45:53 »
scusa provo a spiegarmi meglio

tabella_richieste
id
fornitore_id (int)

tabella_fornitori
id (int)
nome

il campo tabella_richieste.fornitore_id deve potere assumere dei valori 'vuoti', come fare?
per questi valori si puo usare null oppure zero, è così?

utilizzare lo zero non mi crea problemi, potrei usare lo zero chiudere il discorso

mi chiedevo, se si volesse usare null? come si dovrebbe fare?

il campo fornitore_id nel form:

<select name="fornitore_id">
<option value="0"> seleziona </option>
<option value="1">fornitore1</option>
. . .

quando il form viene inviato , si deve fare l'override del metodo save() per trasformare il valore di fornitore_id ??

tipo
if(empty($fornitore_id)){ $table->fornotore_id = null; }

joomla non ha una funzionalità per gestire i campi null??

ciao



« Ultima modifica: 29 Mag 2013, 21:30:54 da baldo »
semplicità ... al sol nominarla sembra svanire

 



Web Design Bolzano Kreatif