laravel 比较数据库中两个字符串的查询
laravel query to compare two string from DB
我使用了 laravel 的查询生成器。
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
dd($email);
而且,这是结果。
Collection {#231 ▼
#items: array:1 [▼
0 => {#229 ▼
+"e_mail": "admin@test.net"
}
]
}
但是测试代码的结果是 False。
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
"admin@test.net"!=$email[0]
我发现了其他问题,但没有找到解决方案。
请您指教。谢谢。
从你的输出看来,如果它是一个数组,你需要使用 $email[0]['e_mail']
而不是 $email[0]
,或者如果它是一个对象,你需要使用 $email[0]->e_mail
。
您正在使用 id.. 所以我认为它是唯一的.. 如果使用 get()
它将 return 作为数组。
使用Eloquent..
$user = Users::select('e_mail')->find(1);
// $user = Users::select('e_mail')->where('id', 1)->first(); //this also can
if("admin@test.net" != $user->email)
{
//
}
或查询..先使用();
$user=DB::table('users')->where('id',1)->select('e_mail')->first();
if("admin@test.net" != $user->e_mail)
{
//
}
请这样使用:
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
"admin@test.net"!=$email[0]->e_mail
我使用了 laravel 的查询生成器。
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
dd($email);
而且,这是结果。
Collection {#231 ▼
#items: array:1 [▼
0 => {#229 ▼
+"e_mail": "admin@test.net"
}
]
}
但是测试代码的结果是 False。
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
"admin@test.net"!=$email[0]
我发现了其他问题,但没有找到解决方案。
请您指教。谢谢。
从你的输出看来,如果它是一个数组,你需要使用 $email[0]['e_mail']
而不是 $email[0]
,或者如果它是一个对象,你需要使用 $email[0]->e_mail
。
您正在使用 id.. 所以我认为它是唯一的.. 如果使用 get()
它将 return 作为数组。
使用Eloquent..
$user = Users::select('e_mail')->find(1);
// $user = Users::select('e_mail')->where('id', 1)->first(); //this also can
if("admin@test.net" != $user->email)
{
//
}
或查询..先使用();
$user=DB::table('users')->where('id',1)->select('e_mail')->first();
if("admin@test.net" != $user->e_mail)
{
//
}
请这样使用:
$email=DB::table('users')->where('id',1)->select('e_mail')->get();
"admin@test.net"!=$email[0]->e_mail