其中 md5 列 Laravel 5.4

Where md5 column Laravel 5.4

请尝试获取列的 md5 等于 MD5 值的行:

这是我的代码

public function xxxx($id_md5){
    $x = Model::where(DB::raw("MD5('id')"),$id_md5)->first();
}

总是对象为空,请帮忙, 谢谢

当您执行 DB::raw("MD5('id')") 时,您的数据库不会检查 id 列的 md5 值 - 相反,它会检查字符串 id 的 md5 值。删除引号即可。

来自我打开的数据库的 Tinker 示例:

>>> App\User::where(DB::raw('md5("id")'), md5('1'))->first();
=> null
>>> App\User::where(DB::raw('md5(id)'), md5('1'))->first();
=> App\User {#867
     id: 1,
     username: "testuser1",
   }