首页 > 解决方案 > laravel 与模型的关系

问题描述

首先我很抱歉这个问题,我知道这可能很糟糕。我正在阅读很多与 laravel 中模型的关系,但我不明白我不知道如何申请。

我的问题是:

我有一个模型session,我有一个模型,patient一位患者接受一个或多个疗程,一个疗程是为一位患者,ok¿?? 我的应用程序是物理治疗诊所。

在我的模型中,Session我有这个:

public function patient()
    {
        return $this->hasOne(Patient::class, 'id');
    }

在我的模范病人中,我不知道我是否必须做任何事情或者我必须这样做:

/**
     * @return \Illuminate\Database\Eloquent\Relations\HasMnay
     **/

    public function sesiones()
    {
        return $this->hasMany(\App\Sesion::class, 'id');
    }

一名患者可以接受一次或任何一次治疗,一次治疗是针对一名患者的,我有更多的关系,但我需要知道为下一步做一次。

我正在做这个问题,因为我的应用程序 web 返回了这个错误:

 STATUS_BREAKPOINT

我认为我的关系很糟糕并挂断了我的申请

非常感谢您的帮助。对不起我的问题

更新

如果我想在会议中展示医生......我有这个:

在模型会话中:

public function doctor(){
        return $this->belongsTo(Doctor::class);
    }

在模型医生中

public function Doctor(){
        return $this->belongsTo(Session::class);
    }

但我不能在我的餐桌上显示做这个会议的医生

标签: laravellaravel-relationslaravel-models

解决方案


根据您的描述,您雄辩的关系定义似乎很好,尽管您不需要指定默认引用的外键“id”,但我要做的唯一修改是也许您可以尝试将关系设置为病人有很多会话,一个会话属于一个病人

所以在会话模型中:

public function patient()
{
    return $this->belongsTo(Patient::class);
}

然后在患者模型中:

public function sessions()
{
    return $this->hasMany(Session::class); 
}

更新:对于医生模型:

public function sessions()
{
    return $this->hasMany(Session::class);
}

对于会话模型:

public function doctor()
{
    return $this->belongsTo(Doctor::class);
}

虽然我认为这不是导致错误的原因,但它会使定义外键和关系更容易。如果您可以描述更多您的工作流程以及如何解决该错误,则您的状态断点错误可能是由其他一些问题引起的


推荐阅读