【发布时间】:2020-08-17 22:01:42
【问题描述】:
我有两个表“电子邮件”和“用户”,我希望能够使用一个查询来获取有关电子邮件的所有信息以及分配给此电子邮件的用户的信息(可以选择不分配任何人到这封电子邮件)。
所以我做的是:
$userInfo = Emails::leftjoin('Users', 'Emails.email', '=', 'Users.email')
->select('Emails.*', 'Users.username')
->where([
['Emails.owner_id', '=', Auth::id()],
])
->get();
据我所知,这几乎可以正常工作,但上述解决方案还选择了已删除的用户(在 deleted_at 中具有值的用户),因此最简单的解决方案是添加
['Users.deleted_at', '=', null],
这有助于删除用户,但在上述情况下,我不再收到未分配给任何人的电子邮件。
只有在“Emails.email”、“=”、“Users.email”的情况下,我才能从电子邮件表中选择所有内容并从用户表中获取用户名。
【问题讨论】:
标签: php mysql database laravel join