Laravel where子句在搜索之前有动作

时间:2017-08-22 14:38:23

标签: php laravel

我得到了我需要执行搜索的模型。我在URL中提供了可用ID的sha256哈希(我不想透露存储在数据库中的真实ID),现在我需要通过该ID检索模型。有没有办法在搜索之前进行散列?我的意思是:

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

模型ID目前没有哈希,所以有没有办法在我检查它在where子句中的哈希值之前哈希呢?

我意识到我可以在创建模型时创建一个具有散列值的新列,但这种方式会更好。

1 个答案:

答案 0 :(得分:1)

我认为你可以尝试这样的事情:

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