我有三张桌子:npm install
。用户表通过user_id与电子邮件相关联。电子邮件表通过email_id与附件连接。
我的问题是:我应该如何在laravel中使其看起来很有说服力,以便让所有用户收到他们的电子邮件及其附件? (我知道如何让所有用户和他们发送电子邮件,但我不知道如何添加附件。)
答案 0 :(得分:4)
根据您的数据库关系,您可以在Email
模型中声明关系方法,例如:
// One to One (If Email has only one attachment)
public function attachment()
{
return $this->hasOne(Attachment::class);
}
否则:
// One to Many (If Email contains more than one attachment)
public function attachments()
{
return $this->hasMany(Attachment::class);
}
要在使用ID读取用户时从Email
模型中检索相关附件,您可以尝试以下操作:
$user = User::with('email.attachment')->find(1); // For One-to-One
$user = User::with('email.attachments')->find(1); // For One-to-Many
希望您已使用方法名称User
在Email
模型的email
模型中声明了关系方法。
注意:请确保您已为模型使用了正确的命名空间。如果您已经完成所有事情并遵循Laravel
约定,它可能会起作用,否则请进行一些研究。还check the documentation。