区分大小写的 where 语句

2022-08-30 19:32:36

如何与 laravel 进行区分大小写的字符串匹配?


SELECT * FROM `invites` WHERE `token`='OGwie2e2985tOEGewgu23hUFs'

可以做到

Invite::where('token',$token)->first()


如果我想要一个区分大小写的匹配,我需要使用这样的语句(或类似的,据我所知):

SELECT * FROM `invites` WHERE BINARY `token`='OGwie2e2985tOEGewgu23hUFs'

我最好的猜测是:

Invite::whereRaw("BINARY `token`='{$token}'")->first()

但是我的输入不是通过准备好的陈述,对吧?


答案 1

你需要使用 DB::raw(),也许像这样

Invite::where(DB::raw('BINARY `token`'), $token)->first();

或者:

Invite::whereRaw("BINARY `token`= ?",[$token])->first()

答案 2

有点晚了,但这仍然不是一个更好的选择吗?

Invite::whereRaw("BINARY `token`= ?", array($token))->first()

推荐