Laravel select 哪里存在查询
Laravel select where exists query
我正在尝试在 laravel 中创建一个查询,该查询将检查用户名是否存在于 email 等于 $email 的记录中。我的 table 叫做用户。
我需要这个查询,因为当用户注册时,他们只用他们的电子邮件地址和密码注册并在以后添加用户名,所以我需要检查他们是否已经添加了用户名。
我已经查看了这里的文档:https://laravel.com/docs/5.4/queries 但无法理解我需要使用哪个查询,有人可以帮忙吗?
我想你想要的是$id = DB::table('user')->where('email', $email)->whereNotNull('username')->value('id');
。这将 return 与该电子邮件匹配但没有用户名的用户 ID,或者它将 return 为空。那是你要的吗?如果不是,你能解释一下你的意思吗?
你可以这样做:
$user = User::where('email', $email)->first();
if (empty($user->username)) {
// username is empty
} else {
echo $user->username;
}
如果只需要检查是否存在而不读取用户数据,更高效的方法是:
$exists=User::where('email', $email)->whereNotNull('username')->exists();
if ($exists) {
//User exists. No other data about it.
}
检查它并仅在存在时读取他的数据:
$user = User::where('email', $email)->whereNotNull('username')->first();
if (!$user) {
//Not found with username, maybe exists without it
}
无论如何都要阅读它然后检查数据:
$user = User::where('email', $email)->first();
if (!$user->username) {
//Does not exists even without username
}else if (!$user->username) {
//Exists but without username
}else{
//Exists with username
}
我正在尝试在 laravel 中创建一个查询,该查询将检查用户名是否存在于 email 等于 $email 的记录中。我的 table 叫做用户。
我需要这个查询,因为当用户注册时,他们只用他们的电子邮件地址和密码注册并在以后添加用户名,所以我需要检查他们是否已经添加了用户名。
我已经查看了这里的文档:https://laravel.com/docs/5.4/queries 但无法理解我需要使用哪个查询,有人可以帮忙吗?
我想你想要的是$id = DB::table('user')->where('email', $email)->whereNotNull('username')->value('id');
。这将 return 与该电子邮件匹配但没有用户名的用户 ID,或者它将 return 为空。那是你要的吗?如果不是,你能解释一下你的意思吗?
你可以这样做:
$user = User::where('email', $email)->first();
if (empty($user->username)) {
// username is empty
} else {
echo $user->username;
}
如果只需要检查是否存在而不读取用户数据,更高效的方法是:
$exists=User::where('email', $email)->whereNotNull('username')->exists();
if ($exists) {
//User exists. No other data about it.
}
检查它并仅在存在时读取他的数据:
$user = User::where('email', $email)->whereNotNull('username')->first();
if (!$user) {
//Not found with username, maybe exists without it
}
无论如何都要阅读它然后检查数据:
$user = User::where('email', $email)->first();
if (!$user->username) {
//Does not exists even without username
}else if (!$user->username) {
//Exists but without username
}else{
//Exists with username
}