2017-12-14 4 views
1

하십시오 내가 MD5 값과 동일 컬럼의 MD5 경우 행을 얻으려고 :어디 MD5 열 Laravel 5.4

이것은

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

항상 객체가 null 내 코드입니다, 어떤 도움을주세요 감사합니다 .

+0

는 소리 : DB를에서

팅커 예를 들어 나는 공개했다. 문법적으로 잘못된 것은 없습니다. – Devon

답변

0

DB::raw("MD5('id')")을 수행하면 데이터베이스에서 id 열의 md5 값을 확인하지 않고 대신 id 문자열의 md5 값을 확인합니다. 견적을 제거하면 제대로 작동합니다. 그런 다음 유효한 MD5 값을 전달하지 않는 것처럼

>>> 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", 
    }