Я не могу перенаправить свой контроллер на то же представление index.blade.php после метода хранения, он выдает ошибку Undefined Variable: users, пока я перенаправляю через метод индекса, он работает нормально. Как я могу это исправить

Это UserController

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>
0
Saima Naseem 16 Июн 2020 в 15:24

1 ответ

Лучший ответ

Вы должны перенаправляться на индексный маршрут для этого ресурса, который возвращает индексное представление, вместо того, чтобы возвращать само представление:

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

Я не уверен, как называется ваш маршрут или каков URL, но какой бы маршрут ни указывал на метод index в вашем UserController, это то, на что вы хотите перенаправить.

1
lagbox 16 Июн 2020 в 12:31