Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dominios Web
Esto creará una clase Post en el directorio app/Models, que representa la tabla posts
en la base de datos.
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
El atributo $fillable en un modelo Eloquent es una matriz que define qué campos
pueden ser asignados masivamente. Al asignar masivamente, se asignan varios
campos a la vez, lo cual es útil cuando se crean o actualizan registros desde datos
de entrada. Aquí hay un ejemplo de cómo usar $fillable en un modelo Post:
Si necesitas que un modelo Eloquent use una base de datos específica en lugar de
la conexión predeterminada configurada en Laravel, puedes hacerlo mediante el
atributo $connection en la clase del modelo. Aquí hay un ejemplo de cómo usar
$connection para especificar una base de datos diferente para el modelo Post:
// ...
}
use App\Models\Post;
$posts = Post::all();
También puedes usar el método create() para crear y guardar registros en una sola
línea:
$post = Post::find(1);
$post->title = 'Mi primer post actualizado';
$post->save();
O utiliza el método update() para actualizar registros que coincidan con ciertas
condiciones:
$post = Post::find(1);
$post->delete();
También puedes eliminar registros que coincidan con ciertas condiciones usando el
método destroy() o where():
Post::destroy(1);
Post::where('published', 0)->delete();
Uno a uno: Un registro de una tabla está relacionado con un solo registro de
otra tabla.
Uno a muchos: Un registro de una tabla está relacionado con varios registros
de otra tabla.
Muchos a muchos: Varios registros de una tabla están relacionados con
varios registros de otra tabla.
Relaciones polimórficas: Un registro de una tabla puede estar relacionado
con registros de múltiples tablas diferentes.
Para definir relaciones entre modelos, debes agregar métodos en las clases de los
modelos que utilicen las funciones proporcionadas por Eloquent, como hasOne(),
hasMany(), belongsTo(), belongsToMany() y otras.
$publishedPosts = Post::published()->get();
Los scopes globales son similares, pero se aplican automáticamente a todas las
consultas realizadas en un modelo. Puedes definir un scope global en el método
boot() de tu modelo:
🔄 Paginación de resultados
Eloquent hace que la paginación de resultados sea muy fácil. Simplemente usa el
método paginate() en lugar de get() al construir tus consultas:
Luego, en tu archivo de vista Blade, puedes utilizar la función links() para generar
los enlaces de paginación:
{{ $posts->links() }}
🔐 Soft Deleting
Eloquent ORM también admite «soft deleting», lo que significa que los registros no
se eliminarán realmente de la base de datos, sino que se marcarán como
eliminados mediante una columna especial llamada deleted_at. Para habilitar el soft
deleting en un modelo, simplemente utiliza el trait SoftDeletes y agrega la columna
deleted_at en la migración correspondiente:
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
$posts = Post::withTrashed()->get();
🌱 Factory y Seeders
Laravel proporciona una manera de generar datos ficticios para tus modelos
utilizando factories y seeders. Las factories son clases que generan instancias de
tus modelos con datos de prueba, mientras que los seeders son clases que utilizan
las factories para insertar estos datos en la base de datos.
use App\Models\Post;
📝 Validación de datos
Cuando trabajes con Eloquent, también es importante asegurarte de que los datos
ingresados sean válidos antes de guardarlos en la base de datos. Laravel
proporciona un sistema de validación fácil de usar que puedes aplicar en tus
controladores. Por ejemplo, para validar los datos de un formulario de post, puedes
hacer lo siguiente:
return redirect()->route('posts.index');
}
Esto garantizará que los datos sean válidos antes de guardar el post en la base de
datos. Si los datos no son válidos, se devolverá al usuario al formulario con los
errores de validación.
🏁 Conclusión
Eloquent ORM es un componente esencial en el desarrollo con Laravel que
simplifica significativamente la interacción con bases de datos. Al aprender a
utilizar Eloquent en tus proyectos, podrás escribir código más limpio, eficiente y
fácil de mantener. Con sus características avanzadas, como relaciones entre
modelos y eventos, Eloquent es una herramienta poderosa para cualquier
desarrollador de Laravel.
Publicaciones Relacionadas:
PHP
PHP Headers guía básica
PHPMailer guía completa
Deja un comentario
Nombre *
Correo electrónico *
Web
Publicar comentario
© 2024 Andrés Ledo • Todos los Contactar Mapa del sitio Política de Privacidad
derechos reservados Política de cookies Sobre Andrés Ledo