有关 order 代码的理解?
我想请教一下 $builder->orderBy($m[1], $m[2]);里的 $m[2]是怎么理解的?是代表正则的值吗?
// 是否有提交 order 参数,如果有就赋值给 $order 变量
// order 参数用来控制商品的排序规则
if ($order = $request->input('order', '')) {
// 是否是以 _asc 或者 _desc 结尾
if (pregmatch('/^(.+)(asc|desc)$/', $order, $m)) {
// 如果字符串的开头是这 3 个字符串之一,说明是一个合法的排序值
if (in_array($m[1], ['price', 'sold_count', 'rating'])) {
// 根据传入的排序值来构造排序参数
$builder->orderBy($m[1], $m[2]);
}
}
}
推荐文章: