Creación de Consultas en Laravel con Eloquent.

Hola developers, hoy en esta sección vamos a aprender a generar consultas con eloquent en Laravel. Esto con la finalidad de interactuar de una forma fácil con la base de datos que se esté utilizando en el proyecto.

Autor: rogercode. Full stack developer

Eloquent nos permite generar consultas y además nos permite agregar restricciones a las consultas y al final invocar el método get() de eloquent para recuperar los datos.

  • Aquí un ejemplo de una consulta con Eloquent en Laravel.
    • 1. Vamos a seleccionar los usuarios donde la columna activo de la tabla sea igual a 1 mediante el método where().
    • 2. Ahora vamos a ordenar los registros por el nombre mediante el método orderBy().
    • 3. Le especificamos que solo tome en cuenta los primeros 10 resgistros mediante el método take().
    • 4. Al final recuperamos los registros con el método get().

Ver el código para entender☟.

            
              
      $user = User::where('activo', 1) // Seleccionar los usuarios donde la columna activo de la tabla sea igual a 1.
      ->orderBy('nombre') // Ordenar los registros por la columna nombre.
      ->take(10) // Se toman en cuenta los primeros 10 registros.
      ->get(); // recuperamos los registros.
    
            
          

Recuperación de registros individuales☟.

Se puede recuperar registros individuales utilizando los métodos find(), first() o firstWhere() de eloquent. En lugar de devolver una colección de registros, estos métodos devuelven un solo registro.

Recuperar el primer registro que coincida con la condición de la consulta mediante el metodo first() de eloquent.

            
              
      // Seleccionar el primer registro de mi tabla user donde el nombre sea igual a admin.
      $user = User::where('nombre', 'admin')->first();
    
            
          

Otra alternativa para recuperar el primer registro que coincida con la condición, es utilizar el método firstWhere() de eloquent.

            
              
      // Seleccionar el primer registro de mi tabla user donde la columna activo sea igua a 1.
      $user = User::firstWhere('activo', 1);
    
            
          

Recuperar un registro mediante su clave principal con el método find() de eloquent.

            
              
      // Obtener el primer registro donde su clave principal sea igual a 1.
      $user = User::find(1);