Laravel按整数列过滤

时间:2018-01-13 05:48:59

标签: php laravel

想象一下,您希望过滤表格结果,例如:

public function users(Request $request) {
    if ($request()->has('gender')) {
      $users = User::where('gender', request('gender'))
      ->paginate(5)
      ->appends('gender', request('gender'));
    } else {
      $users = User::->get();
    }
    return view('front.users', compact('users'));
  }

它运作得很好。

但在我的情况下,我尝试根据整数列过滤我的订单,整数列提供名为orderstatus_id的订单的状态。

public function orders(Request $request) {
    if ($request()->has('orderstatus_id')) {
      $orders = Order::where('user_id', '=', Auth::user()->id)
      ->where('orderstatus_id', request('orderstatus_id'))
      ->paginate(5)
      ->appends('orderstatus_id', request('orderstatus_id'));
    } else {
      $orders = Order::where('user_id', '=', Auth::user()->id)->get();
    }
    return view('front.orders', compact('orders'));
  }

问题是我收到此错误:

  

函数名称必须是字符串

这一部分:

if ($request()->has('orderstatus_id')) {

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

改变这个:

$request()

为此,如果您想使用全局帮助器:

request()

或者对此:

$request

两者都会做同样的工作。