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

时间:2017-04-27 14:25:52

标签: laravel routes laravel-5.2

我有一个页面控制器,它只返回一个包含我所有用户的视图,例如 -

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

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

在该页面上,我有一个搜索输入,我希望返回到具有相同变量数据的同一视图 -

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()函数,该函数返回所有用户。我假设我需要在网址上添加一些内容,以便它有类似

的内容
/site?searchterm

虽然我不确定这是怎么回事。

我理解get请求你可以传入一个可选参数,但我的搜索表单是一个帖子类型。

1 个答案:

答案 0 :(得分:2)

searchUser()中返回相同的视图:

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

而不是重定向:

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