Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Shivamyadav's avatar

route model binding?

How can i get the users all details on the edit page My controller code

public function edit(User $id)
    {
        $user = User::find($id);
        $roles = Role::get(['name', 'id']);
        return view('admin.users.edit',compact('user','roles'));
    }

My blade code edit file

@section('content')   
    <div class="mt-16 md:mt-10 w-full">
        <h3 class="mb-5 text-2xl ml-4">Create Users</h3>
        <form method="POST" action="{{route(' admin/users/'){{$user->id}}}}" enctype="multipart/form-data" class="mr-4 ml-4">
            @csrf
            <div class="mb-6">
                <label for="name" class="block mb-2 text-lg font-medium text-black ">Your Name</label>
                <input type="name" name="name" id="name" class="shadow-sm  border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('name')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>
            <div class="mb-6">
                <label for="email" class="block mb-2 text-lg font-medium text-">Your email</label>
                <input type="email" name="email" id="email" class="shadow-sm  border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('email')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="Role" class="block mb-2 text-lg font-medium">Role</label>
                <select type="text" name="role_id" id="role_id" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                <option hidden disabled selected>Select Role</option>
                    @foreach($roles as $role)
                        <option value="{{ $role->id}}">{{$role->name}}</option>
                    @endforeach
                    @error('role_id')
                        <span class="text-red-500">{{$message}}</span>
                    @enderror
                </select>
            </div>

            <div class="mb-6">
                <label for="is_active" class="block mb-2 text-lg font-medium">Status</label>
                <select type="text" name="is_active" id="is_active" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg  focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                    <option hidden value="0">Not Active</option>
                    <option value="1" class="hover:bg-blue-400">Active</option>
                    <option value="0">Not Active</option>
                </select>
                @error('status')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="name" class="block mb-2 text-lg font-medium">Image</label>
                <input type="file" name="photo_id" id="file" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('file')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="password" class="block mb-2 text-lg font-medium">Password</label>
                <input type="password" name="password" id="password" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('password')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>
            
            <button type="submit" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 sm:mb-10">
                Create User
            </button>
        </form>
    </div>
  
@endsection

My route:list

$ php artisan route:list

  GET|HEAD        / ......................................................................................................................................................
  POST            _ignition/execute-solution ............................................... ignition.executeSolution › Spatie\LaravelIgnition › ExecuteSolutionController
  GET|HEAD        _ignition/health-check ........................................................... ignition.healthCheck › Spatie\LaravelIgnition › HealthCheckController
  POST            _ignition/update-config ........................................................ ignition.updateConfig › Spatie\LaravelIgnition › UpdateConfigController
  GET|HEAD        admin ................................................................................................................................. Controller@admin
  GET|HEAD        admin/users ................................................................................................... users.index › AdminUsersController@index
  POST            admin/users ................................................................................................... users.store › AdminUsersController@store
  GET|HEAD        admin/users/create .......................................................................................... users.create › AdminUsersController@create
  GET|HEAD        admin/users/{user} .............................................................................................. users.show › AdminUsersController@show
  PUT|PATCH       admin/users/{user} .......................................................................................... users.update › AdminUsersController@update
  DELETE          admin/users/{user} ........................................................................................ users.destroy › AdminUsersController@destroy
  GET|HEAD        admin/users/{user}/edit ......................................................................................... users.edit › AdminUsersController@edit
  GET|HEAD        api/user ...............................................................................................................................................
  GET|HEAD        confirm-password ............................................................................ password.confirm › Auth\ConfirmablePasswordController@show
  POST            confirm-password .............................................................................................. Auth\ConfirmablePasswordController@store
  GET|HEAD        dashboard .................................................................................................................................... dashboard
  POST            email/verification-notification ................................................. verification.send › Auth\EmailVerificationNotificationController@store
  GET|HEAD        forgot-password ............................................................................. password.request › Auth\PasswordResetLinkController@create
  POST            forgot-password ................................................................................ password.email › Auth\PasswordResetLinkController@store
  GET|HEAD        login ............................................................................................... login › Auth\AuthenticatedSessionController@create
  POST            login ........................................................................................................ Auth\AuthenticatedSessionController@store
  POST            logout ............................................................................................ logout › Auth\AuthenticatedSessionController@destroy
  GET|HEAD        register ............................................................................................... register › Auth\RegisteredUserController@create
  POST            register ........................................................................................................... Auth\RegisteredUserController@store
  POST            reset-password ...................................................................................... password.update › Auth\NewPasswordController@store
  GET|HEAD        reset-password/{token} .............................................................................. password.reset › Auth\NewPasswordController@create
  GET|HEAD        sanctum/csrf-cookie .................................................................. sanctum.csrf-cookie › Laravel\Sanctum › CsrfCookieController@show
  GET|HEAD        verify-email ..................................................................... verification.notice › Auth\EmailVerificationPromptController@__invoke
  GET|HEAD        verify-email/{id}/{hash} ..................................................................... verification.verify › Auth\VerifyEmailController@__invoke

0 likes
11 replies
simion's avatar
<input type="name" name="name" id="name" value={{ $user->name }}  class="....."

Also in route file

// a route something like this below but the {user} name must be the same in controller 
// {user} in route === $user in controller 
// not {user} in route and $id in controller
Route::get('users/{user}/edit')->name('user.edit')

in controller

public function edit(User $user)
    {
        // $user = User::find($id);   -  no need for this
		dd($user);
        $roles = Role::get(['name', 'id']);
        return view('admin.users.edit',compact('user','roles'));
    }
1 like
Snapey's avatar

which route ?

change your function to accept the user

    public function edit(User $user)
    {
        $roles = Role::get(['name', 'id']);
        return view('admin.users.edit',compact('user','roles'));
    }
1 like
Shivamyadav's avatar

@Snapey but i want to use route mode binding to get the the value in the input filed without using

value= "{{$user->name}}"

etc ,doing instead of it i want something else

Snapey's avatar

@Shivamyadav you are not explaining yourself very well

Route model binding is allowing the framework to resolve your model instance and pass it into the controller method. It has nothing to do with anything in views

1 like
Shivamyadav's avatar

@Snapey sir i want your Email address i want to mail you a screenshot of a code written by MR Edwin Diaz sir the Udemy.com coding faculty

Shivamyadav's avatar

@Snapey i have getted my name and email using

value={{$user->name }} //etc 

but how can i get the role and Is_active colomn data on the edit file

Shivamyadav's avatar

@Snapey my blade edit file code

@extends('layouts.admin')
@section('content')   
    <div class="mt-16 md:mt-10 w-full">
        <h3 class="mb-5 text-2xl ml-4">Create Users</h3>
        <form method="POST" action="{{route('users.update', $user)}}" enctype="multipart/form-data" class="mr-4 ml-4">
            @csrf
            <div class="mb-6">
                <label for="name" class="block mb-2 text-lg font-medium text-black ">Your Name</label>
                <input type="name" name="name" id="name" value={{ $user->name }}  class="shadow-sm  border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('name')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>
            <div class="mb-6">
                <label for="email" class="block mb-2 text-lg font-medium text-">Your email</label>
                <input type="email" name="email" id="email" value={{ $user->email }}  class="shadow-sm  border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('email')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="Role" class="block mb-2 text-lg font-medium">Role</label>
                <select type="text" name="role_id" id="role_id" value="{{ $user->role_id }}" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                <option hidden disabled selected>Select Role</option>
                    @foreach($roles as $role)
                        <option value="{{ $role->id}}">{{$role->name}}</option>
                    @endforeach
                    @error('role_id')
                        <span class="text-red-500">{{$message}}</span>
                    @enderror
                </select>
            </div>

            <div class="mb-6">
                <label for="is_active" class="block mb-2 text-lg font-medium">Status</label>
                <select type="text" name="is_active" id="is_active" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg  focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                    <option hidden value="0">Not Active</option>
                    <option value="1" class="hover:bg-blue-400">Active</option>
                    <option value="0">Not Active</option>
                </select>
                @error('status')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="name" class="block mb-2 text-lg font-medium">Image</label>
                <input type="file" name="photo_id" id="file" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('file')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>

            <div class="mb-6">
                <label for="password" class="block mb-2 text-lg font-medium">Password</label>
                <input type="password" name="password" id="password" class="shadow-sm bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 dark:shadow-sm-light">
                @error('password')
                    <span class="text-red-500">{{$message}}</span>
                @enderror
            </div>
            
            <button type="submit" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 sm:mb-10">
                Create User
            </button>
        </form>
    </div>
  
@endsection
Snapey's avatar

what sort of relationship is the role?

Shivamyadav's avatar

@Snapey here is the video link same i want in my code ..start the video from 6:0 minutes

https://youtu.be/J5WBTUr0QBE

Please or to participate in this conversation.