小编Raf*_*rra的帖子

清除Laravel的命令

我有一个泛型函数,它给我通用查询集,如:

class Model extends Eloquent {
  public static function get_queryset(){
    $queryset = self::where('foo','=','bar');
    // Do tons of stuff with the query and then...
    return $queryset->orderBy('somefield');
  }
}
Run Code Online (Sandbox Code Playgroud)

这个函数在我的项目的任何地方都使用,但在特定的一点我需要使用这个查询集但是更改 ORDER BY,就像这样:

public static function get_specific_field(){
  return self::get_queryset()->select('singlefield')->orderBy('singlefield');
}
Run Code Online (Sandbox Code Playgroud)

如果我运行此代码,ORDER BY将仅附加到前一个并生成无效查询,因为"somefield"不在SELECTed字段上.即:

SELECT singlefield FROM table ORDER BY somefield ASC, singlefield ASC
Run Code Online (Sandbox Code Playgroud)

如何清除orderBy以便我可以重用查询集?

php laravel eloquent

8
推荐指数
4
解决办法
6558
查看次数

标签 统计

eloquent ×1

laravel ×1

php ×1