gpt4 book ai didi

grails - 使用特定的 id/email 保存到 grails

转载 作者:行者123 更新时间:2023-12-02 14:29:04 25 4
gpt4 key购买 nike

我有两个域,Patient 和 Allergy。我想保存特定患者的过敏症(电子邮件是每个患者的唯一标识符)。详细信息来自 android 应用程序,电子邮件是参数之一。

假设用户已经存在,我将如何进行过敏服务才能做到这一点。

这是成功注册新患者并保存其详细信息的患者服务。我有一个 Controller ,它充当 android 应用程序的 API。

@Transactional
class PatientService {



//creating new
def updateSave(params) {
def patient
//record exists
if(params.id){
patient = Patient.findById(params.id)
if(patient) {
patient.validate()

patient.dateUpdated = new Date()
patient.save(params)
}
}else{


params.password=MD5CodecExtensionMethods.encodeAsMD5(params.password)


patient = new Patient(params)
patient.validate()

System.out.println(patient.errors)
patient.save flush:true


}

return patient

这是我尝试过的过敏服务但被卡住了
@Transactional
class AllergyService {


def Save(params) {
def allergy
Patient patient




allergy = new Allergy(params)
allergy.validate()

System.out.println(allergy.errors)
allergy.save flush:true

return Allergy.findAllByPatient(params)

}

最佳答案

我假设 Patient有很多Allergies ,因此您必须创建一个适当的关联:

class Patient {
static hasMany = [allergies: Allergy]
}
class Allergy {
}

Grails 会自动将一组过敏症注入(inject)患者域。

在您的 save方法,您应该可以访问 Patient或他的 email属性(property),以便以某种方式连接它们。
然后,你可以这样做:
def save(patientEmail, params) {
Patient patient = Patient.findByEmail(patientEmail)
Allergy allergy = new Allergy(params)
patient.addToAllergies(allergy)
patient.save()
}

关于grails - 使用特定的 id/email 保存到 grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com