写代码时发现一条 sql 执行不正常,其中一个 where 条件中的反斜杠被当成了转义符,在 laravel 中如何忽略转义执行 sql.
|
xujifMay 12, 2016
1
DB::raw
|
|
b821025551bMay 12, 2016
2
这不是 laravel 的问题吧,可以试着把一个反斜杠替换成两个反斜杠.
|
|
reticentfatMay 12, 2016
3
加一条反斜杠
|
|
shishiruiMay 12, 2016
4
加一条反斜杠
|
|
5
@b821025551b
@reticentfat 因为最开始拿到项目的时候权限模块是直接将 laravel 的命名空间以字符串形式保存在数据库里的,所以在做权限判断的时候因为这个反斜杠的问题非常尴尬,除了批量替换数据之外有其他的办法可以处理吗,比如 laravel 是否有忽略字符串忽略转义的方法 |
|
void1900May 12, 2016
6
据我所知 \ 并不影响查询,你的反斜杠真的是被 laravel 转义了吗?
你可以在 sql 中加入 sleep(10) 然后在 mysql 中只想 show full processlsit; 查看实际执行的 sql 是什么 |