在 SELECT 查询生成器中使用 AES_DECRYPT - Laravel

Using AES_DECRYPT in SELECT Query Builder - Laravel

我正在尝试从我们的合作伙伴提供的 mysql 数据库中解密数据。 他们在 mysql AES_ENCRYPT(fld_code, md5(CONCAT(fld_id, 'somekey')))

中使用它加密

在我的例子中,我试图在我的 laravel 代码中使用 AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'somekey'))) as f1

像这样:

$query = DB::connection('db2')->table('tbsample')->select("fld_id", "AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'somekey')))")->get();

我遇到了这样的错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'RA3019')))' in 'field list' (SQL: select `fld_id`, `AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'RA3019')))` from `tbsample`) 

我一直在寻找如何在我的查询中使用 AES_Decrypt,但运气不在我这边。提前致谢。

使用\DB::raw()selectRaw:

$query = DB::connection('db2')->table('tbsample')->select("fld_id", \DB::raw("AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'somekey')))"))->get();

或者

$query = DB::connection('db2')->table('tbsample')->selectRaw("fld_id, AES_DECRYPT(fld_code, md5(CONCAT(fld_id, 'somekey')))")->get();