Query Scopes en Voyager
Comprar curso

12. Query Scopes en Voyager

En este capítulo, te enseñaré a utilizar Query Scopes para filtrar y buscar información en Voyager. Te mostraré cómo definir y utilizar estos scopes para buscar y filtrar contenidos específicos.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Dan

    Dan hace 6 meses

    Tengo una pregunta Victor, de que manera puedo yo a traves de un queryscope o desde alguna funcionalidad nativa de voyager, el que si yo estoy creando un post por ejemplo y quiero que solo lo pueda ver yo, se me asigne de manera automatica ese post a mi, ya que para hacer esto, se tiene que seleccionar desde el formulario y creo que esa seria una mala practica y obviando el hecho de ocultar el campo de user para que no sea visible y las otras personas, no puedan ver a los demas usuarios.

    • Dan hace 6 meses

      Alguien ya pudo solucionar este tema?

    • Victor Arana Flores hace 6 meses

      Hola Dan, es simple, podrías crear un observer y desde el observer agregarla la informacion del usario autenticado.

      Te dejo un video https://youtu.be/fsjq3bGxs9s 

  • Jonathan Villa

    Jonathan Villa hace 1 año

    Hola Victor, que plugin utilizas para ver la sintaxis de los metodos “get”, “auth”, etc. cuando los vas escribiendo

    Saludos!!

  • José L

    José L hace 1 año

    Hola Victor, en el curso podemos observar que el usuario autenticado puede observar los productos que le pertenecen tanto al Administrador como a los otros Usuarios. ¿Como se lograría hacer, para que conseguir que al autenticarme como Administrador pueda observar todos los productos registrados y los otros usuarios sigan viendo solo los productos que les pertenecen?

    • Victor Arana Flores hace 1 año

      Hola Josao, en el capitulo se ve que si agregas un query scope, solo puedes ver tus productos, mas no de otros usuarios.

      Si quieres que el administrador pueda ver todos los productos, podrías hacer algo así:

       

      public function scopeCurrentUser($query)
          {
      
      
              if (auth()->user()->role->name == 'admin') {
                  return $query;
              }
      
      
              return $query->where('user_id', auth()->user()->id);
       	}
    • José L hace 1 año

      Muy agradecido por la respuesta