【发布时间】:2014-10-19 03:08:58
【问题描述】:
如何使用 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()
但是我的输入不是通过准备好的语句,对吧?
【问题讨论】:
-
让表格变成区分大小写的排序规则?
-
为什么第一个示例查询不区分大小写?
-
@Jon 取决于使用的 MySQL 编码。有区分大小写的。
-
@ceejayoz ...在这种情况下,要问的正确问题是 Marc 所说的 - 为什么该列首先具有不区分大小写的排序规则?就目前的问题而言,现在的问题是一个错误的人在寻找另一个人做出正确的决定。
-
@Jon 我同意。只是指出来 - 我以前见过错误选择的排序规则导致这种情况。
标签: php mysql laravel-4 eloquent case-sensitive