0

我无法在 store 方法之后将我的控制器重定向到同一个视图 index.blade.php,它给出了一个错误 Undefined Variable :users,当我通过 index 方法重定向时,它工作正常。我该如何解决

这是用户控制器

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>
4

1 回答 1

1

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

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

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

于 2020-06-16T12:31:21.427 回答