Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Error pada saat update data di laravel

saya ingin update data dengan method put tetapi ada error Sorry, the page you are looking for could not be found. NotFoundHttpException in RouteCollection.php line 161:

yang saya tau error seperti itu karena urlnya ga ada di route

tapi sudah saya check url yang dituju udah sama kaya di route, perkiraan saya ada hubungannya dengan method put

blade.php

 <form class="form-horizontal" role="form" action="/profile/update/{{$user->id}}">

		 <input type="hidden" name="_method" value="PUT">
		{{ csrf_field() }}

        <div class="form-group">
        	<label class="col-lg-3 control-label">Full name:</label>
        	<div class="col-lg-8">
            	<input class="form-control" value="{{$user->name}}" type="text" name="name">
        	</div>
        </div>
        <div class="form-group">
          <label class="col-lg-3 control-label">Email:</label>
          <div class="col-lg-8">
            <input class="form-control" value="{{$user->email}}" type="text" name="email">
          </div>
        </div>

        <div class="form-group">
          <label class="col-md-3 control-label">Phone:</label>
          <div class="col-md-8">
            <input class="form-control" value="{{$user->handphone}}" type="text" name="phone">
          </div>
        </div>
        <div class="form-group">
          <label class="col-md-3 control-label"></label>
          <div class="col-md-8">
            <input class="btn btn-primary" value="Save Changes" type="submit">
            <span></span>
            {{-- <input class="btn btn-default" value="Cancel" type="reset"> --}}
          </div>
        </div>

Route


Route::put('/profile/update/{$id}','UserController@update');

controller

 <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Models\User as User;
class UserController extends Controller
{

    //show all user on list-user.blade.php
    public function index()
    {
        $users = User::all();
        return view('list-user')->with('users', $users);
    }

    //show a selected user on profile.blade.php
    public function profile($id)
    {
        $user = User::find($id);
        return view('profile',compact('user'));
    }
    public function update($id,Requests $request){
        $user = User::findOrFail($id);
        $user->name = $request->name;
        $user->email = $request->email;
        $user->handphone = $request->phone;
        $user->update();

        return redirect('/profile/'.$id);
    }
}

avatar ikhsanfadillah
@ikhsanfadillah

11 Kontribusi 4 Poin

Diperbarui 8 tahun yang lalu

1 Jawaban:

itu problem nya ada di route nya gan, coba ganti jadi ini

Route::put('/profile/update/{id}','UserController@update'); //menghapus tanda $ pada {$id}

avatar ahnafhf21
@ahnafhf21

107 Kontribusi 66 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban