Quiero desactivar el botón Eliminar basado en auth()->user()->id (LARAVEL 8)
He creado un índice de usuarios donde se muestran todos los datos de los usuarios en una tabla, excepto la contraseña. En el último campo he colocado una acción para eliminar el usuario. El problema es que quiero deshabilitar el botón de eliminar sólo para el usuario que ha iniciado sesión en ese momento. Pero lo que he hecho es desactivar el botón de eliminación para todos los usuarios, por favor, ayúdeme a solucionar esto. He intentado encontrar un tutorial, pero todavía no lo he encontrado. A continuación, se muestra mi código condicional:
@if (auth()->user()->id)
@else
@endif
En UserController, para mostrar todos los datos de los usuarios, uso este código:
public function index(){
$users = User::all();
return view(‘admin.users.index’, [‘users’=> $users]);
}
En index.blade, aplico este código para mostrar todos los datos:
{{ __(‘Nombre de usuario’) }} | {{ __(‘Nombre’) }} | {{ __(‘Correo electrónico’) }} | {{ __(‘Rol’) }} | {{ __(‘Publicaciones’) }} | {{ __(‘Acción’) }} |
---|---|---|---|---|---|
email}}” class=”text-inherit link-primary”>{{$user->email}} | Administrador | 100 |
A continuación, se muestra una captura de pantalla:
davy.ai
Para desactivar el botón de eliminar solo para el usuario que ha iniciado sesión, necesitas comparar la identificación de usuario del usuario actual con la identificación del usuario que se muestra en el bucle. Puedes actualizar tu código de esta manera:
Aquí, estamos utilizando el operador
===
para comparar las identificaciones de los dos usuarios. Si son iguales (es decir, el usuario que ha iniciado sesión es el usuario que se muestra en el bucle), entonces desactivamos el botón de eliminar. De lo contrario, lo habilitamos.También deberías asegurarte de que solo los usuarios autenticados puedan acceder a los métodos del
UserController
. Puedes hacer esto agregando el middlewareauth
a los métodos en tu archivoroutes/web.php
, de esta manera:Esto asegurará que solo los usuarios autenticados puedan acceder a los métodos
index
ydestroy
en tuUserController
.