加入两张桌子Laravel

时间:2017-02-06 16:54:07

标签: php sql laravel join

我想就如何使用Laravel连接两个表提供一些反馈。我已经阅读了文档,但我仍然有点困惑。而且我还在考虑如何处理这个问题。见......我有两个表用于儿童信息,另一个表用于疫苗,我决定将它分开,因为有很多疫苗,我不希望用户每次输入每种疫苗添加一个新的孩子到系统。我打算为管理员制作某种类型的复选框,以便选择每个孩子都有的疫苗,但后来我有了日期,所以我不知道什么是最好的方法。 我的一个问题是,当用户填写孩子信息时,我将如何从疫苗表中检索数据?或者你们有更好的消化?我已经准备好了孩子们的桌子,但现在我必须添加疫苗。 我愿意帮助你。我还会留下两张桌子的照片。

enter image description here

1 个答案:

答案 0 :(得分:0)

根据我的理解,您需要保留另一个表格来管理kidsvaccines之间的互动,让我们说kids_vaccines

这意味着,每个接种一种或多种疫苗的孩子的记录都会加上疫苗接种时间的时间戳

一个例子是:

KidsVaccine模型与KidVaccine建立关系

public function kid()
{
    return $this->belongsTo(Kid::class, 'idkid');
}

public function vaccine()
{
    return $this->belongsTo(Vaccine::class, 'idvaccine');
}

您的Kid模型和Vaccine模型都可以与hasMany()建立KidsVaccine关系

这意味着,在简称kids_vaccines表格中,您将管理idkididvacccine作为两个外键(当然,您的时间戳在这里,以便了解疫苗何时出现)适用于孩子)。

这样您就可以轻松地创建一个可以从vaccines表中检索疫苗的孩子。

如果有任何不清楚的地方你可以指出它。

希望这会有所帮助:)