laravel查询比较来自DB的两个字符串

时间:2017-11-20 06:04:36

标签: php laravel laravel-eloquent

我使用了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]

我发现了其他问题,但没有找到解决方案 请你的建议。感谢。

3 个答案:

答案 0 :(得分:1)

在您的输出中,似乎不是$email[0],而是$email[0]['e_mail'],如果它是一个数组,或者您需要使用$email[0]->e_mail,如果它是一个对象。

答案 1 :(得分:1)

请像这样使用:

$email=DB::table('users')->where('id',1)->select('e_mail')->get();

"admin@test.net"!=$email[0]->e_mail

答案 2 :(得分:0)

你发现使用id ..所以我认为它是唯一的..如果使用get()它将作为数组返回。

使用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) 
{
    //
}

或Query..use first();

$user=DB::table('users')->where('id',1)->select('e_mail')->first(); 

if("admin@test.net" != $user->e_mail) 
{
    //
}