Php 整列拉威尔滤波器

Php 整列拉威尔滤波器,php,laravel,Php,Laravel,假设您要筛选一个表结果,您可以执行以下操作: public function users(Request $request) { if ($request()->has('gender')) { $users = User::where('gender', request('gender')) ->paginate(5) ->appends('gender', request('gender')); } else {

假设您要筛选一个表结果,您可以执行以下操作:

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\u 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')) {
有什么想法吗?

改变这个:

$request()
为此,如果要使用全局辅助对象,请执行以下操作:

request()
或为此:

$request
两者将做同样的工作