CursosEmpresasBlogLiveConfPrecios

Contenido del curso

Introducción

  • 1
    Intro y caracteristicas de Laravel

    Intro y caracteristicas de Laravel

    03:09 min

Fundamentos

  • 2
    Instalación de Laravel

    Instalación de Laravel

    06:48 min
  • 3
    Primer ruta en laravel

    Primer ruta en laravel

    06:14 min
  • 4
    Cómo funciona Blade

    Cómo funciona Blade

    08:30 min
  • 5
    Controladores en Laravel

    Controladores en Laravel

    07:23 min
  • 6
    Request

    Request

    06:10 min
  • 7
    Configuración de laravel

    Configuración de laravel

    05:07 min

Bases de Datos

  • 8
    Cómo funcionan las Migraciones de DB

    Cómo funcionan las Migraciones de DB

    07:00 min
  • 9
    Migraciones en Artisan

    Migraciones en Artisan

    05:28 min
  • 10
    Modelos con Eloquent

    Modelos con Eloquent

    06:19 min
  • 11
    Trabajando con un Modelo

    Trabajando con un Modelo

    Viendo ahora

Operaciones CRUD

  • 12
    Controladores y recursos

    Controladores y recursos

    14:08 min
  • 13
    Blade layout

    Blade layout

    05:46 min
  • 14
    Form para agregar reportes

    Form para agregar reportes

    07:35 min
  • 15
    CSRF

    CSRF

    08:21 min
  • 16
    Fake PUT/PATCH

    Fake PUT/PATCH

    10:58 min
  • 17
    Borrando reportes

    Borrando reportes

    11:21 min
  • 18
    Validaciones

    Validaciones

    12:07 min

Relaciones en bases de datos

  • 19
    Creamos la vista de reportes

    Creamos la vista de reportes

    06:44 min
  • 20
    Relaciones con eloquent

    Relaciones con eloquent

    13:17 min
  • 21
    Trabajando con relaciones

    Trabajando con relaciones

    14:35 min

Emails

  • 22
    Acción para enviar un mail

    Acción para enviar un mail

    08:32 min
  • 23
    Enviando emails

    Enviando emails

    14:04 min

Autenticación

  • 24
    Sistema de autenticación en Laravel

    Sistema de autenticación en Laravel

    09:38 min

Cierre

  • 25
    Cierre

    Cierre

    01:09 min
Tomar examen

Trabajando con un Modelo

Resumen

  • No es aconsejable modificar una migración ya que si estamos trabajando en equipo alguien puede haber ya corrido la migración con anterioridad y esto le causaría conflictos. Lo aconsejable es crear una migración adicional.
  • El comando migrate:fresh lo reinicia todo incluyendo la base de datos y los elementos creados.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Moisés Cedeño

      Moisés Cedeño

      Estudiante
      Hace 7 años
        angel gutierrez

        angel gutierrez

        Estudiante
        Hace 7 años
        Johanna Apure Canónico

        Johanna Apure Canónico

        Estudiante
        Hace 5 años
      Pablo Gúzman

      Pablo Gúzman

      Estudiante
      Hace 7 años
        Alfonso Navarro

        Alfonso Navarro

        Company_admin
        Hace 7 años
        Daniel Muñoz Martín

        Daniel Muñoz Martín

        Estudiante
        Hace 7 años
      Jesús Enrique Prieto Treviño

      Jesús Enrique Prieto Treviño

      Estudiante
      Hace 7 años
        Erick Leao Pérez Medina

        Erick Leao Pérez Medina

        Estudiante
        Hace 7 años
        Martha Muñoz

        Martha Muñoz

        Estudiante
        Hace 7 años
      Francisco Daniel Carvajal Becerra

      Francisco Daniel Carvajal Becerra

      Profesor
      Hace 5 años
      Mariley Erika Condori Calla

      Mariley Erika Condori Calla

      Estudiante
      Hace 6 años
        Jimmy Buriticá Londoño

        Jimmy Buriticá Londoño

        Estudiante
        Hace 6 años
      Emmanuel Rodríguez

      Emmanuel Rodríguez

      Estudiante
      Hace 7 años
        Daniel Hurtado

        Daniel Hurtado

        Estudiante
        Hace 7 años
        Carlos Andres Castañeda Osorio

        Carlos Andres Castañeda Osorio

        Estudiante
        Hace 6 años
      Santiago Arboleda Londoño

      Santiago Arboleda Londoño

      Estudiante
      Hace 7 años
      Enrique Garcia Stave

      Enrique Garcia Stave

      Estudiante
      Hace 6 años
      Jimmy Buriticá Londoño

      Jimmy Buriticá Londoño

      Estudiante
      Hace 6 años
        Jhonathan Alfonso

        Jhonathan Alfonso

        Estudiante
        Hace 6 años
      walter Jorge

      walter Jorge

      Estudiante
      Hace 6 años
      Eduin Morales

      Eduin Morales

      Estudiante
      Hace 7 años
        Lorena Pena Verdú

        Lorena Pena Verdú

        Estudiante
        Hace 7 años
      Edward Suarez

      Edward Suarez

      Estudiante
      Hace 6 años
        Jhonathan Alfonso

        Jhonathan Alfonso

        Estudiante
        Hace 6 años
      José Antonio Quintanilla Umaña

      José Antonio Quintanilla Umaña

      Estudiante
      Hace 6 años
        Jhonathan Alfonso

        Jhonathan Alfonso

        Estudiante
        Hace 6 años
      Samuel Antonio Rojas Dugarte

      Samuel Antonio Rojas Dugarte

      Estudiante
      Hace 6 años
      Luis Lazcano

      Luis Lazcano

      Estudiante
      Hace 7 años
        xxxxxxxxxx xxxxxxxxxxxxxxxx

        xxxxxxxxxx xxxxxxxxxxxxxxxx

        Estudiante
        Hace 7 años
        Juan Castro

        Juan Castro

        Profesor
        Hace 7 años
      jarvinson Valencia

      jarvinson Valencia

      Estudiante
      Hace 4 años
        Luis Alberto Cruz Orellana

        Luis Alberto Cruz Orellana

        Estudiante
        Hace 4 años
      Andrés Felipe Lopez gomez

      Andrés Felipe Lopez gomez

      Estudiante
      Hace 5 años
      Paul Cortes

      Paul Cortes

      Estudiante
      Hace 6 años
      José Jesús Quilarque

      José Jesús Quilarque

      Estudiante
      Hace 6 años
      Sergio Veloza

      Sergio Veloza

      Estudiante
      Hace 6 años

      Para crear la columna title después de la columna 'id' y que esté mejor estruturado:

      $table->text('title')->after('id');

      pero eso solo funciona en MySql por que lo probe en postgreSql y no lo hace

      Yo uso PostgreSQL 11.10 (Debian 10) y funciona

      Por eso odio las versiones de Laravel, después te salen con el siguiente error a la hora de hacer lo que el maestro hace y no sabes por que.

      Este error salio:

      Symfony\Component\Debug\Exception\FatalThrowableError : syntax error, unexpected ':', expecting ',' or ')'

      Pero claro que después de un rato el batallar por que revisar el código del maestro y el tuyo y es igual.

      Pero la bronca es la versión de Laravel el cual modifica ciertos detalles como lo que encontré para que funcionara.

      Codigo del maestro:

      $table->text( column: 'title' );

      Mi código

      $table->text( 'title' );

      Se quita el column:, el 2 puntos marca el error. Por si alguien le salio mal.

      @CreatividadMovil2018 el "column" que le aparece al profesor, lo coloca como una ayuda el editor de texto q el utiliza llamado WebStorm, es un editor pago q coloca automáticamente esas ayudas, pero Laravel no fue q cambio de versión y antes lo tenia y ahora no.

      Ese detalle es muy importante q lo tengas en cuenta ya q esas ayudas aparecen muy frecuentemente a lo largo del curso .

      anRoswell tiene razón, el texto column que aparece en color gris es una ayuda del editor de código, si te fijas en otras partes del curso verás como también aparece valores como: default, key, etc... ese texto no tienes que escribirlo es para ayudarte a entender los parámetros que se les pasa a las funciones por ejemplo: el primer parámetro es la key, el segundo un valor default cosas de ese estilo !

      ¿Utilizamos tinker porque aún no tenemos creado una UI?

      Precisamente, tinker permite interactuar con nuestras clases sin tener una UI. Yo lo utilizo también para verificar rapidamente los queries que estoy desarrollando.

      Tinker permite utilizar las clases y modelos que tienes en la App de Laravel desde la consola de comandos, con esto puedes por ejemplo probar queries y resultados antes de escribirla en el código

      En lugar de escribir:

      App\Models\expenseReport::all();

      Podemos escribir:

      $report::all();

      Esto debido a que ya habiamos almacenado en la variable $report una instancia de la clase ExpenseReport.

      Si estas trabajando en la version 6 de laravel, ya no es necesario poner columns dentro de los paréntesis laravel#creandocolumnas

      public function up() { Schema::table('expense_reports', function (Blueprint $table) { $table->text('title'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('expense_reports', function (Blueprint $table) { $table->dropColumn('title'); }); }

      Gracias.

      Si están utilizando postgres 10, en vez de mysql, tuve el siguiente error.

      Illuminate\Database\QueryException : SQLSTATE[23502]: Not null violation: 7 ERROR: column "title" contains null values (SQL: alter table "expense_reports" add column "title" text not null)

      Lo resolví anexando:

      $table->text('title')->nullable();

      Por si gustan intentar con postgres.

      No creo que tu error tenga algo que ver con el motor que usas, si no que no estableciste nada al campo 'title'

      Otra solución si no se desea aceptar valores null en el campo es colocar un valor por default:

      $table->text('title')->default('El valor que desees');

      Además de los tipos de columna, hay varios "modificadores" de columna que se pueden utilizar al añadir una columna a una tabla de base de datos. Por ejemplo, para hacer que la columna "title" esté después de la columna "id", debes utilizar el siguiente método:

      $table->text('title')->after('id');

      Apuntes: Las migraciones practicamente nunca las modificamos, practicamente lo que hacemos es agregar una migracion adicional haciendo referencia a la tabla a la que vamos a realizar la modificacion, de esta forma si alguien ya corrió la primera migracion que hacia referencia a dicha tabla, con el nuevo envío, se va a realizar la modificacion. Para ello podemos escribir algo como lo siguiente: php artisan make:migration create_column_title_in_reports --table=expense_reports De esta manera, al notificar mediante el comando, que vamos a trabajar sobre una tabla, veremos espacios en los respectivos metodos de migracion del archivo creado para trabajar sobre ellos.

      Les comparto el link actualizado con la documentación de Eloquent: https://laravel.com/docs/7.x/eloquent

      Gracias bro!

      hola a alguien le salió este error

      $report = new App\ExpenseReport(); PHP Fatal error: Class 'App/ExpenseReport' not found in Psy Shell code on line 1

      Estoy estancado hace varios días en esta lección, al utilizar tinker tengo errores como este PHP Warning: Creating default object from empty value in Psy Shell code on line 1 Alguna solución?

      y qué comando ejecutas para que te de ese error?

      Es hermoso que todo funcione a la primera

      Jajajaj ya va tomando forma!

      excelente para comenzar con lo básico de migraciones

      Y vienen más cosas geniales!

      Para poder colocar la columna 'title' despues de la columna 'id' y asi tener una mejor estructura coloquen esto:

      $table->text('title')->after('id');

      ¿Cual es la nomenclatura que deben de tener los nombres de las tablas? ¿Cual es la nomenclatura para los campos y cuando tienen mas de dos sufijos esos campos por ejemplo descriptionName description_name?

      existen varios estándar, el más común:

      1.- Utlizar '' en lugar de espacios 2.- Colocar la primera letra del tipo de datos 3.- Nombre del campo, si son dos o más palabras, separar con '' 4.- Si el campo es primary key colocar _pk al final 5.- _fk si es foreign key.

      ejem:

      i_numero_alumno_pk

      Estos recursos pueden ser útiles:

      :point_right: https://es.stackoverflow.com/questions/26452/qu%C3%A9-convenci%C3%B3n-de-nombrado-debo-utilizar-en-bases-de-datos :point_right: https://profesores.virtual.uniandes.edu.co/~isis2304/dokuwiki/lib/exe/fetch.php?media=tutoriales:estandares_de_nombramiento_de_objetos_en_una_bd.pdf :point_right: https://platzi.com/discusiones/1272-sql-mysql/31202-alguien-tiene-una-guia-sobre-que-nomenclatura-se-debe-usar-en-las-bases-de-datos/

      Alguien sabe sobre este erro? Ya utilicé php artisan cache:clear y nada

      Captura de pantalla 2022-03-13 163028.png

      Es por que te hace falta esa carpeta o no tienes permiso "boostrap/cache"

      Si ya esta creada intenta abrir la consola en modo administrador

      Excelente clase

      Excelente los modelos las migraciones

      Notas:

      • Cada vez que queramos modificar algo en las migraciones es preferible crear una antes de modificar una existente haciendo referencia a la modificacion que vamos a realizar siguiendo la sintaxis de el comando make:migration -help

      Tip del mentor: No edites de forma directa la migración, crea una nueva con la información, para así cuando se corran las migraciones todo el equipo pueda correr las migraciones que hagan falta