首页 > 解决方案 > Laravel 从 2 个模型中找到用户

问题描述

如何在 2 个不同的表中搜索用户?

例子:

$user = 
// either
User::where('email', $request->email)->first();
// or this
Seller::where('email', $request->email)->first();

标签: phplaravel

解决方案


所以在第一个模型中寻找用户存在。如果找不到,请查看第二个模型。

$user = User::where('email', $request->email)->first();
if (!$user) {
    $user = Seller::where('email', $request->email)->first();
}

if ($user) {
    return $user;
} else {
    return 0;
}

正如蒂姆在评论中建议的那样,如果您使用的是 php 7+,则可以使用空合并运算符在一行中完成

return User::where('email', $request->email)->first() ?? Seller::where('email', $request->email)->first() ?? 'not found / 0 / or anything';

推荐阅读