In pratica mi trovo a dover realizzare una tabella relativa alle analisi
dei pazienti, che prende come chiavi esterne quella del tipo di analisi,
del paziente, del dottore che prescrive e dell’infermiere che esegue.
Per le prime due chiavi non c’e’ problema, le riesco a far prendere
perfettamente, il dubbio e’ sulla chiave del medico e dell’infermiere,
perche’ la situazione in cui mi trovo e’ che medico e infermiere sono
due sottoclassi che ereditano dalla tabella “Person”.
Chiedevo se voi conoscete qualche modo per far capire alla tabella
analisi_paziente che il campo che io chiamo doctor_id deve fare
riferimento al person_id della tabella Person (stessa cosa per nurse_id)
di cui doctor e’ una sottoclasse.
Se non mi sono spiegato abbastanza bene chiedete pure, intanto grazie
mille per le risposte!
On Apr 24, 2008, at 2:14 PM, Samuele Crescenti wrote:
Chiedevo se voi conoscete qualche modo per far capire alla tabella
analisi_paziente che il campo che io chiamo doctor_id deve fare
riferimento al person_id della tabella Person (stessa cosa per
nurse_id)
di cui doctor e’ una sottoclasse.
In teoria dovresti avere una situazione cosi’:
class Person < ActiveRecord::Base; end
class Doctor < Person; end
class Nurse < Person; end
class AnalisiPaziente < ActiveRecord::Base
belongs_to :doctor
belongs_to :nurse
end
Quel che non capisco e’ da dove salti fuori il campo “person_id”…
Il campo person_id salta fuori dalla migrate della tabella
AnalisiPaziente, in cui per far capire le associazioni con doctor e
nurse ho creato i campi doctor_id e nurse_id, che pero’ non riesco ad
usare, a differenza per esempio del patient_id che ruby in automatico
mi collega alla tabella paziente una volta dichiarati nei model i
belongs_to o has_many.
Come faccio a dichiarare che con “doctor_id” e “nurse_id” io intendo di
andarsi a prendere l’id del dottore o dell’infermiere della tabella
person? perche’ in person esiste solo il campo “id” globale, che e’ lo
stesso per infermieri e medici, non esistono i campi “doctor_id” e
“nurse_id”.
E nei model di person e Analisi paziente cosa dichiaro?
grazie mille
Stefano C. wrote:
In teoria dovresti avere una situazione cosi’:
class Person < ActiveRecord::Base; end
class Doctor < Person; end
class Nurse < Person; end
class AnalisiPaziente < ActiveRecord::Base
belongs_to :doctor
belongs_to :nurse
end
Quel che non capisco e’ da dove salti fuori il campo “person_id”…
On Apr 24, 2008, at 4:09 PM, Samuele Crescenti wrote:
di
andarsi a prendere l’id del dottore o dell’infermiere della tabella
person? perche’ in person esiste solo il campo “id” globale, che e’ lo
stesso per infermieri e medici, non esistono i campi “doctor_id” e
“nurse_id”.