Laravel ORM Eloquent

Laravel

Siguiendo con el aprendizaje de Laravel, en el día de hoy conoceremos su ORM llamado Eloquent, básicamente mediante este ORM, cada tabla de nuestra base de datos esta representada por un modelo en nuestro proyecto, esto con el fin de interactuar con dicha tabla realizando las funciones básicas de todas las aplicaciones Crear, Actualizar, Eliminar y Leer.

¿Donde definir los modelos en Laravel?

Los modelos podemos declararlos en cualquier parte de la aplicación, más por defecto viven en el directorio /app de un proyecto Laravel, así mismo todos los modelos extienden de Model, haciendo uso del facade:

use Illuminate\Database\Eloquent\Model;

Nota: Recuerda configurar tu base de datos en el archivo config/database.php para que no tengas problemas al momento de hacer uso de tus modelos.

Creando nuestro primer modelo:

Podemos crear modelos de dos formas:

1 Mediante la consola: Abrimos una consola CMD en el directorio del proyecto Laravel y tecleamos:

1
php artisan make:model Personas

Comando que nos proporcionará un modelo de la tabla en cuestión (Archivo creado en el directorio App):

1
2
3
4
5
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Personas extends Model {
    //
}

2 De forma manual: La acción de abrir la consola para realizar acciones quizá para algunos sea tediosa, es por ello que podemos tener un modelo de ejemplo el cual podemos copiar y pegar siempre que necesitemos declarar uno nuevo, cambiando los valores para el nuevo modelo veamos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Personas extends Model {
    /**
     * The database table used by the model.
     *
     * @var string
     */

    protected $table = 'Personas';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */

    protected $fillable = ['identificacion', 'nombres', 'apellidos', 'direccion', 'telefono'];
}

Nota: Eloquent asume que existe en la tabla un campo llamado id el cual será tomado como Primary Key

Nota: Eloquent per se espera los campos created_at y updated_at para proporcionar el control del registro y ultima actualización de los registros, mas sinembargo podemos omitir estos campos haciendo uso de:

1
public $timestamps = false;

Ahora bien veamos como mediante Eloquent podemos realizar las funciones de un CRUD:

Creando registros

1
2
3
4
5
6
7
8
9
$persona = new Persona();

$persona->identificaicon= 23443;
$persona->nombres = 'Ivan';
$persona->apellidos = 'Lopez';
$persona->direccion = 'Avenida falsa';
$persona->telefono = 5555;

$persona->save();

Eliminando Registros

1
2
$p=Persona::where('id', '=', 1)->first();
$p->delete();

Actualizando Registros

1
2
3
$p = App\Personas::find(1);
$p->nombres = 'Ivan David';
$p->save();

Leyendo registros

1
2
3
4
$p = App\Personas::where('id','>', 3)
->orderBy('nombres', 'desc')
->take(10)
->get();

Analizando el modo de uso y la forma en que podemos interactuar con la base de datos haciendo uso de Eloquent nos damos cuenta de lo poderoso que es este ORM en el desarrollo de aplicaciones Web con Laravel nos vemos en un próximo artículo de esta sección.

Si este post fue de ayuda para ti, no olvides dejar un comentario, también puedes contar tu experiencia o lo que estés haciendo. Nos ayuda a seguir creciendo. ¡Vamos!, solo te llevará 1 minuto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *