Чувствительный к регистру оператор where в laravel

как я могу сделать чувствительную к регистру строку с 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()

но тогда мой вклад не проходит через подготовленное заявление, верно?

2 ответов


вам нужно будет использовать DB:: raw(), возможно, что-то вроде

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

или же:

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

немного поздно, но все равно это не было бы лучшей альтернативой?

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