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