未定义 variable:users.....在 laravel 中使用资源控制器索引和存储方法时发生变量冲突

Undefined variable:users.....Variable conflict when using a resource controller index and store method in laravel

我无法在存储方法后将我的控制器重定向到同一视图 index.blade.php,它给出错误未定义变量:用户,而我通过索引方法重定向时,它工作正常。我该如何解决这个问题

这是用户控制器

public function index()
{
    $users = \App\User::all();
    return view('pages.index')->with('users',$users);
}

public function create()
{
    $users = \App\User::all();
    return view('pages.create', compact('users'));
}


public function store(Request $request)
{
    $validator = \Validator::make($request->all(), [
        'first_name' => 'required',
        'last_name' => 'required',
        'email' => 'required',

    if ($validator->fails())
    {
        return response()->json(['errors'=>$validator->errors()->all()]);
    }
    else
    {
        $users = new User();
        $users->first_name = $request->first_name;
        $users->last_name=$request->last_name;
        $users->email=$request->email;

        $users->save();

        return view('pages.index'); 
    }
}

index.blade.view

          <tbody>
            @foreach($users as $user)
            <tr>
                <td scope="row">{{$user->id}}</td>
                <td>{{$user->first_name.' '.$user->last_name}}</td>
                <td>{{$user->email}}</td>
            </tr>
            @endforeach
          </tbody>

您应该重定向到 returns 索引视图而不是返回视图本身的资源的索引路由:

return redirect()->route('pages.index');

我不确定你的路由是什么名字或者 URL 是什么,但是指向你 UserController 上的 index 方法的路由是你想要的重定向到。