【发布时间】:2016-08-28 06:02:23
【问题描述】:
假设我有一个名为table 的表,它有一个名为path 的列,path 中的字符串格式如下所示
row path
1 /path1/aa/bg/c/da
2 /path1/ab/v
3 /path1/a/ba/ca
如您所见,每个段由字符 / 分隔。
如何使用like 格式化where 中的条件,以便返回的唯一行是row 2 和2 slashes。
我试过了
DB::table('table')->where('path','LIKE','/path1/%/%')->get()
但是上面的查询将返回由于最后一个% 而产生的所有行。如何在最后一个% 之后排除/,以便最后一个% 之后具有字符/ 的记录不会包含在结果中?
【问题讨论】:
-
您可以使用mysql dev.mysql.com/doc/refman/5.7/en/regexp.html的正则表达式方法和
whereRaw()方法代替where
标签: php mysql laravel laravel-query-builder