web-dev-qa-db-ja.com

laravelの大文字と小文字を区別するwhereステートメント

大文字と小文字を区別する文字列を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()

しかし、私の入力は準備されたステートメントを通過していませんよね?

16
Andy Fleming

DB :: raw()を使用する必要があります。

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

または代わりに:

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

少し遅れますが、それでもこれはより良い選択肢ではないでしょうか?

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