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
<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'));
}
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'));
}
@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
@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
@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
@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
@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
what sort of relationship is the role?
@Snapey belongsTo relationship from user to role table
@Snapey here is the video link same i want in my code ..start the video from 6:0 minutes
https://youtu.be/J5WBTUr0QBE
Please sign in or create an account to participate in this conversation.