Laravel y Base de Datos

Entorno de trabajo y repaso de Laravel

1

Qu茅 aprender谩s sobre Laravel Avanzado

2

Repaso de Laravel y requisitos del curso

3

Configuraci贸n de la base de datos-SQLite en Laravel

4

Instalaci贸n, configuraci贸n y uso de Homestead

5

Instalar Laravel Sanctum

6

API de autenticaci贸n: laravel UI y laravel sanctum

Manejo de tu base de datos con Laravel

7

Capa de transformaci贸n con API Resources

8

Manejo de relaciones en bases de datos con Laravel

9

Relaciones Polim贸rficas en Eloquent

La terminal de Laravel

10

C贸mo crear comandos para la terminal de Laravel

11

Ejecutando comandos desde la API

12

Programaci贸n de tareas

Eventos y tareas de Laravel

13

Eventos y Listeners en Laravel

14

Eventos de Eloquent

15

Introducci贸n al uso de Queues y Jobs

16

C贸mo disparar eventos en Queues

17

Laravel Horizon

Manejo de errores

18

C贸mo capturar y leer errores con la clase Handler

19

Excepciones personalizadas

20

Excepciones HTTP personalizadas y debugging con Laravel Telescope

21

Configuraci贸n de logs y channels en Laravel

El coraz贸n de Laravel

22

Ciclo de vida de una aplicaci贸n en Laravel

23

驴Qu茅 son los service containers?

24

驴C贸mo funciona un service container?

25

Registro y carga de clases con service providers

Creaci贸n de paquetes

26

驴C贸mo crear mis propios paquetes de Laravel?

27

Propiedades para manejo de dependencias

28

Comprende el archivo composer.json

29

Extendiendo composer.json, autocarga de clases y PSR-4

30

Crear mis propios Services Providers

31

Publicaci贸n de archivos

32

Uso de repositorios locales

33

Publicaci贸n de paquetes en packagist

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

C贸mo crear comandos para la terminal de Laravel

10/33
Recursos

Aportes 10

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

驴No entiendo por qu茅 el profesor explica todos estos conceptos a una velocidad tan alta, cual es la raz贸n?

驴Por qu茅 no extender un poco m谩s el video para explicar todo detalladamente?

Vuelve y juega partes cortadas y sin explicar.

Avanzado no significa explicar todo a la hp, creo que se refiere a tener la misma hp paciencia que en un curso b谩sico pero explicando conceptos avanzados.

馃槮

Como aclaraci贸n, ya que esto fuer cortado de uno de los videos, para hacer uso del Auth::routes() necesitan tener instalado el Laravel UI que se encarga de gestionar esto, simplemente ejecutan el comando:

composer require laravel/ui

Adicionalmente aqu铆 dejo el enlace del commit de esta clase con Laravel 8:

https://github.com/RetaxMaster/platzi-api/commit/a757d1ed262642ba12eef5bae022a0f6fdd8df7f

reto cumplido

lo 煤nico que hay que hacer es en la consulta eso es lo importante yo la solucione asi

 $builder->whereNull('email_verified_at')
 ->whereRaw('email_verified_at BETWEEN DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND CURDATE()');

Con Laravel Sail, ya no es necesario utilizar Mailtrap, si no con el contenedor de Mailhog simular el servicio del correo electr贸nico en el local.

Igual han de saber un poco de docker para correr los contenedores.

Mi soluci贸n al reto

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\User;
use Carbon\Carbon;

class RequestEmailVerification extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'request:emailverification';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Send an email to all the users that have not verify their email';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        $builder = User::query()
                        ->whereNull('email_verified_at')
                        ->whereDate('created_at', '<=', Carbon::now()->subDays(7)->format('Y-m-d'));

        if ($count = $builder->count()) {
            $this->info("{$count} email will be sent");
            $this->output->progressStart($count);

            $builder->each(function (User $user) {
                $user->sendEmailVerificationNotification();
                $this->output->progressAdvance();
            });

            $this->output->progressFinish();
            $this->info('emails sent');
        } else {
            $this->info('No email sent');
        }

        return 0;
    }
}

Si tienen este error: Cannot send message without a sender address
ejecuten esto: php artisan config:clear

este profe explica muy bien para quienes ya tenemos esos conceptos avanzados, pues si he hecho varios comandos en mis aplicaciones, pero aca aprendi algunas cosas como pasar param al comando

Para que no se sobre escriba el texto info durante la ejecucion de la barra puedes usar un return y cambiar el orden que primero termine la barra y despues escriba el mensaje:

        if ($count) {
            $this->output->progressStart($count);

            $builder->whereNotNull('email_verified_at')->each(function(User $user) {
                $user->notify(new NewsletterNotification());
                $this->output->progressAdvance();
            });


            $this->output->progressFinish();
            return $this->info('Se enviaron ' . $count . ' emails');
        }

Tambien puedes acceder a los metodos warn() y error() que aceptarn cadenas de textos para cambiar el color del texto que se imprime en consola

Muy interesante鈥

Hola, para qu茅 pones el m茅todo query() en cada modelo de eloquent que utilizas?