Laravel 5.2 - 将两个控制器返回到同一视图

Laravel 5.2 - Returning two controllers to the same view

我有一个页面控制器,它只是 return我所有用户的视图,例如-

public function index()
{
  $users = DB::table('users')->select('id', 'account_id', 'email', 'name')->paginate(10);

  return view('admin/home')->with('users', $users);
}

在那个页面上,我有一个搜索输入,我想 return 到具有相同变量数据的相同视图 -

public function searchUser(Request $request)
{
  $searchTerm = $request->input('search');

  $search = '%'.$searchTerm.'%';

  $users = User::where('name', 'LIKE', $search)
                ->orwhere('email', 'LIKE', $search)
                ->orwhere('account_id', 'LIKE', $search)
                ->get();

  return redirect()->route('admin.home')->with('users', $users);
}

问题是,当我搜索和使用 SearchUser 函数时,它还会运行 index() 函数,该函数 return 所有用户。我假设我需要在 url 上附加一些东西,所以它会有类似

的东西
/site?searchterm

虽然我不确定那会如何工作。

我知道您可以通过 get 请求传入可选参数,但我的搜索表单是 post 类型。

searchUser()return相同的观点:

return view('admin.home')->with('users', $users);

而不是重定向:

return redirect()->route('admin.home')->with('users', $users);