2017-08-22 50 views
0

我得到了我的模型,我需要執行搜索。我在URL中提供了一個可用的sha256散列(我不想公開存儲在數據庫中的真實ID),現在我需要通過該ID檢索模型。在搜索之前有沒有辦法做哈希?我的意思究竟是什麼:Laravel where clause從前搜索

$hashed_id = ...; 
Model::where('id',$hashed_id)->first(); 

型號ID目前不散列,那麼有沒有辦法哈希它之前,我在where子句中檢查它,我的哈希值?

我意識到我可以在創建模型時創建一個具有哈希值的新列,但這種方式會更好。

+0

@LawrenceCherone ID不是整數,在我的情況,它的UUID – Caranthir

+0

可以散列它是在原始SQL? – EkinOf

+0

@EkinOf你會怎麼做? – Caranthir

回答

1

我想你可以嘗試這樣的事情:

Model::where(DB::raw('SHA2(id, 256)'), $hashed_id)->first();