Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel从3个表中获取相关数据_Laravel_Eloquent - Fatal编程技术网

Laravel从3个表中获取相关数据

Laravel从3个表中获取相关数据,laravel,eloquent,Laravel,Eloquent,我有三个表格:用户、电子邮件、附件。用户表通过用户id与电子邮件连接。电子邮件表通过电子邮件id与附件连接 我的问题是:我应该如何在laravel中让所有用户看到他们的电子邮件和附件?我知道如何获取所有用户和他们的电子邮件,但我不知道如何添加附件。根据您的数据库关系,您可以在电子邮件模型中声明关系方法,例如: //如果电子邮件只有一个附件,则为一对一 公共职能附件 { 返回$this->hasOneAttachment::class; } 否则: //如果电子邮件包含多个附件,则为一对多 公共功

我有三个表格:用户、电子邮件、附件。用户表通过用户id与电子邮件连接。电子邮件表通过电子邮件id与附件连接


我的问题是:我应该如何在laravel中让所有用户看到他们的电子邮件和附件?我知道如何获取所有用户和他们的电子邮件,但我不知道如何添加附件。

根据您的数据库关系,您可以在电子邮件模型中声明关系方法,例如:

//如果电子邮件只有一个附件,则为一对一 公共职能附件 { 返回$this->hasOneAttachment::class; } 否则:

//如果电子邮件包含多个附件,则为一对多 公共功能附件 { 返回$this->hasManyAttachment::class; } 要在使用id读取用户时从电子邮件模型检索相关附件,您可以尝试以下操作:

$user=user::with'email.attachment'->find1;//一对一 $user=user::with'email.attachments'->find1;//一对多 希望您已经在电子邮件模型的用户模型中使用方法名称Email声明了relationship方法


注意:确保为模型使用了正确的名称空间。如果你做的每件事都是正确的,并且遵循了拉威尔的惯例,那么它可能会起作用,否则就做一些研究。还有。

您好,我还有一个问题。如果我想获取没有电子邮件的用户及其附件,而用户已连接到电子邮件且电子邮件已连接到附件,则应如何查询?现在,我刚刚为table attachments user_id添加了另一个键,但我认为可以选择在不使用此附加键的情况下获取数据。在这种情况下,您可以使用与在电子邮件模型中创建的相同方式在模型中创建atachments关系方法。谢谢,伙计!你真的节省了很多时间。