Este paquete le permite filtrar, ordenar e incluir relaciones elocuentes según una solicitud. El QueryBuilder
utilizado en este paquete amplía el constructor Eloquent predeterminado de Laravel. Esto significa que todos sus métodos y macros favoritos todavía están disponibles. Los nombres de los parámetros de consulta siguen la especificación JSON API lo más fielmente posible.
/users?filter[name]=John
: use Spatie QueryBuilder QueryBuilder ;
$ users = QueryBuilder:: for (User::class)
-> allowedFilters ( ' name ' )
-> get ();
// all `User`s that contain the string "John" in their name
Lea más sobre funciones de filtrado como: filtros parciales, filtros exactos, filtros de alcance, filtros personalizados, valores ignorados, valores de filtro predeterminados, ...
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
Obtenga más información sobre funciones de inclusión como: incluir relaciones anidadas, incluido el recuento de relaciones, inclusiones personalizadas,...
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
Lea más sobre funciones de clasificación como: clasificación personalizada, dirección de clasificación, ...
$ query = User:: where ( ' active ' , true );
$ userQuery = QueryBuilder:: for ( $ query ) // start from an existing Builder instance
-> withTrashed () // use your existing scopes
-> allowedIncludes ( ' posts ' , ' permissions ' )
-> where ( ' score ' , ' > ' , 42 ); // chain on any of Laravel's query builder methods
/users?fields[users]=id,email
$ users = QueryBuilder:: for (User::class)
-> allowedFields ([ ' id ' , ' email ' ])
-> get ();
// the fetched `User`s will only have their id & email set
Lea más sobre cómo seleccionar campos.
Invertimos muchos recursos en la creación de los mejores paquetes de código abierto. Puedes apoyarnos comprando uno de nuestros productos pagos.
Apreciamos mucho que nos envíe una postal desde su ciudad natal, mencionando cuál de nuestros paquetes está utilizando. Encontrarás nuestra dirección en nuestra página de contacto. Publicamos todas las postales recibidas en nuestro muro virtual de postales.
Puede instalar el paquete a través del compositor:
composer require spatie/laravel-query-builder
Lea las notas de instalación en el sitio de documentos: https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
Puede encontrar la documentación en https://spatie.be/docs/laravel-query-builder/v5.
¿Te encuentras atrapado usando el paquete? ¿Encontraste un error? ¿Tiene preguntas o sugerencias generales para mejorar la biblioteca multimedia? No dudes en crear un problema en GitHub; intentaremos solucionarlo lo antes posible.
Si encuentra un error relacionado con la seguridad, envíe un correo electrónico a [email protected] en lugar de utilizar el rastreador de problemas.
Consulte UPGRADING.md para obtener más detalles.
composer test
Consulte CHANGELOG para obtener más información sobre los cambios recientes.
Consulte CONTRIBUCIÓN para obtener más detalles.
Si encuentra un error relacionado con la seguridad, envíe un correo electrónico a [email protected] en lugar de utilizar el rastreador de problemas.
La Licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.