Para aquello que quieran usar otras alternativas a dd()
tambien existe
print_r()
var_dump()
pueden ver una compartiva entre estos métodos en este link.
Entender Laravel
¡Actualizamos este curso!
¿Qué es Laravel?
Herramientas necesarias para trabajar con PHP y Laravel
Entendiendo el ciclo de vida de las solicitudes web
Qué es un CRUD y cómo implementarlo
Lógica de controladores y vistas con datos de prueba
Creando un formulario
Comprender los Fundamentos de Laravel
Sistema de rutas y controladores
Uso de Middlewares
Validación de datos (rutas, vistas, formularios y controladores)
Blade: sistema de plantillas avanzado
Trabajando con el componente Laravel/UI
Aprender sobre Eloquent ORM
Eloquent: trabajando con este ORM
Relaciones de tablas
Colecciones y serialización de datos
Formato de valores en tablas y presentación de datos
Crear PlatziPress
Proyecto Blog: presentación y configuración inicial
Creación de tablas, entidades y datos de prueba
Plantillas de trabajo y entendiendo el login
Diseño visual con Bootstrap
Vista index y botones de acción
Implementación del formulario de creación
Implementación del guardado
Creando la función de editar un post
Actualizando nuestros posts
Integrando contenido audiovisual
Construir Proyecto Final: API con TDD (Intermedio)
Introducción al testing
Metodología TDD y testing HTTP
Proyecto API con TDD: presentación y configuración inicial
Store con TDD
Refactorización y validación en Store
Show con TDD
Update y validación con TDD
Delete con TDD
Index con TDD
Protección de una API con Login
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Profesor Italo Morales F
Aportes 25
Preguntas 6
Para aquello que quieran usar otras alternativas a dd()
tambien existe
print_r()
var_dump()
pueden ver una compartiva entre estos métodos en este link.
El método find()
es capaz de buscar recibiendo un id
o un modelo
$users = User::all();
$userx = $users->find(1); //instancia de la clase User
$user->find($userx)
// o
$user->find(1);
El método only()
solo puede buscar por el id
$users = User::all();
$user->only(1);
En ambos podemos buscar mas de un elemento pasando por parámetro un array
$users = User::all();
$user->find([1, 2, 3]);
$user->only([1, 2, 3]);
Un genio como explica Italomoralesf!! HAGAN MAS VIDEOS CON EL!!! 😃
Excelente lección!!! de parte del profe, solo agregaria para los que no estan tan familiarizados con PHP, recuerda esta clase de tipo collection es una abstracción de eloquent, si bien tambien hereda de la clase Iterable igual que un array en PHP puro por asi decir, tener una abstracción como esta nos permite hacer uso de metodos que nos devuelven datos que pueden ser de mucha ayuda en el desarrollo otra cosa por la que se suele hacer estas abstracciones es para estandarizar los filter y map por ejemplo, ya que en PHP puro existen estas funciones pero el orden de los parametros en ambas cambia por tanto con una abstraccion como las collections de Laravel ganamos mas helpers y tambien una API fluida y estandarizada
DUPLICAR LINEAS
En visual studio code, podemos usar la combinacion de teclado
ALT + SHIFT + UP /ABAJO
¿Cual sería la diferencia entre usar with
y load
para traer la información que tiene con alguna tabla que tenga relación?
A lo que he visto ambos funcionan igual.
Esa conversion de los datos de la base de datos a json me es muy util al trabajar con Vue.js, los datos del componente se manejan por este formato.
Eso de JSON esta genial
Para poder visualizar los datos con formato JSON, podemos pasar el argumento JSON_PRETTY_PRINT
al métódo toJson
:
dd($user->toJson(JSON_PRETTY_PRINT));
Podremos verlo de una forma mas legible en el navegador
La serialización es importante para cuando trabaja con Web Services pues usualmente se deben retornar los datos en formato JSON y recibir los datos como arrays:D
tomando en cuenta que las colecciones son como una extension para usar métodos o funcionalidad extra, cual es la diferencia entre usar estas métodos o usar directamente el where con eloquent?
Metodos disponibles en las colecciones
Elloquent instancia la clase collections.
.
Ejemplo: esta coleccion contiene al creador de laravel, a su esposa y al lamborgini:
.
$collection = collect(['taylor', 'abigail', 'facade', null])->map(function ($name) {
return strtoupper($name);
})->reject(function ($name) {
return empty($name);
});
Ejemplo: esta coleccion contiene al creador de laravel, a su esposa y al lamborgini:
.
$collection->all();
Esto me recuerda a la hermosa herramienta LINQ de .NET
Route::get('collections', function () {
$users = User::get();
//dd($users);
//dd($users->contains('4'));
//dd($users->except([1,2,3]));
//dd($users->only(4));
//dd($users->find(4)); //Busca solamente el id 4
//dd($users->load('posts'));//Cargar la relación con post definida en el modelo
});
Gracias
Excelente el uso de load() para poder cargar las relaciones en la lógica y no solamente en la vista
Genial la serialización en JSON
Colecciones es trabajar con diferentes métodos para poder manipular los datos.
Serialización es la forma de almacenar los datos en un array o en JSON.
Colecciones:
Forma de trabajar con muchos métodos para poder manipular fácilmente nuestros datos.
Route::get('collections', function () {
$users = User::all();
/*
contains() -> determine if a key exist in the collection
except()-> Return all models in the collection except the model with especified key
only()-> Returns only the models from the collection with the specified keys
load()-> Load a set of relationships onto the collection.
*/
// dd($users);
// dd($users->contains(4));
// dd($users->except(4));
// dd($users->only(1));
dd($users->load('posts'));
});
Documentación:
https://laravel.com/docs/7.x/collections#available-methods
Serialización:
Manera de convertir los datos en un Array o un Json.
Route::get('serialization', function () {
$users = User::all();
/*
toArray()->Get the collection of items as a plain array.
toJson()->Convert the model instance to JSON.
*/
// dd($users->toArray());
$user = $users->find(1);
// dd($user);
dd($user->toJson());
});
Documentación:
https://laravel.com/docs/7.x/eloquent-serialization#serializing-models-and-collections
Imprimir User y sus Posts
Route::get('collections', function () {
$users = User::all();
foreach ($users as $user) {
echo "<strong>$user->name</strong> <br>";
foreach ($user->posts as $post) {
echo "$post->title <br>";
}
}
});
Las colecciones son una extenciones de eloquent que permite maniputar facilmente los datos
Y la serialización es la forma como presentamos estos datos, en array o en json por ejemplo.
Gran forma de explicar del profesor realmente es muy claro.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?