Entender Laravel

1

隆Actualizamos este curso!

2

驴Qu茅 es Laravel?

3

Herramientas necesarias para trabajar con PHP y Laravel

4

Entendiendo el ciclo de vida de las solicitudes web

5

Qu茅 es un CRUD y c贸mo implementarlo

6

L贸gica de controladores y vistas con datos de prueba

7

Creando un formulario

Comprender los Fundamentos de Laravel

8

Sistema de rutas y controladores

9

Uso de Middlewares

10

Validaci贸n de datos (rutas, vistas, formularios y controladores)

11

Blade: sistema de plantillas avanzado

12

Trabajando con el componente Laravel/UI

Aprender sobre Eloquent ORM

13

Eloquent: trabajando con este ORM

14

Relaciones de tablas

15

Colecciones y serializaci贸n de datos

16

Formato de valores en tablas y presentaci贸n de datos

Crear PlatziPress

17

Proyecto Blog: presentaci贸n y configuraci贸n inicial

18

Creaci贸n de tablas, entidades y datos de prueba

19

Plantillas de trabajo y entendiendo el login

20

Dise帽o visual con Bootstrap

21

Vista index y botones de acci贸n

22

Implementaci贸n del formulario de creaci贸n

23

Implementaci贸n del guardado

24

Creando la funci贸n de editar un post

25

Actualizando nuestros posts

26

Integrando contenido audiovisual

Construir Proyecto Final: API con TDD (Intermedio)

27

Introducci贸n al testing

28

Metodolog铆a TDD y testing HTTP

29

Proyecto API con TDD: presentaci贸n y configuraci贸n inicial

30

Store con TDD

31

Refactorizaci贸n y validaci贸n en Store

32

Show con TDD

33

Update y validaci贸n con TDD

34

Delete con TDD

35

Index con TDD

36

Protecci贸n de una API con Login

37

Cierre del curso

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

6 D铆as
4 Hrs
13 Min
50 Seg
Curso de Introducci贸n a Laravel 6

Curso de Introducci贸n a Laravel 6

Profesor Italo Morales F

Profesor Italo Morales F

Actualizando nuestros posts

25/37
Recursos

Aportes 19

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Nota:
En mi caso al editar la imagen, me creaba la nueva imagen, la editaba al post, pero no la borraba.

Entonces tuve que hacer lo que muestro en el fragmento del codigo.

Saludos.

// edito solo esos campos si no viene file
$post->update([
            'title' => $request->title,
            'body' => $request->body,
            'iframe' => $request->iframe
        ]);
// si viene con file
if ($request->file('image')) {
            Storage::disk('public')->delete($post->image);
            $post->image = $request->file('image')->store('posts', 'public');
            $post->save();
        }

Actualizando nuestros posts


Para eliminar una imagen necesitamos trabajar con esta clase:

use Illuminate\Support\Facades\Storage;

Y para eliminar la imagen pondremos:

Storage::disk('public')->delete($post->image);

La l贸gica de esta sentencia es que dentro del almacenamiento busque la carpeta public y ah铆 vas a eliminar la ruta que le de los par谩metros, en este caso es $post->image.

Una consulta compa帽eros quienes han hecho este ejemplo de clase han visto o notado que aunque actualizamos podemos casi cambiar todos por los campos por lo que seria necesarios saber que campos puedo cambiar en reralidad, ya que por ejemplo si cambio el titulo el slug deberia modificarse y no lo hace.

Si tienen error para actualizar la imagen, asi lo solucione pasando el post como string, para gente con laravel 8 y 9 馃槂

public function destroy(Post $post)
    {
        Storage::disk("public")->delete((string) $post->image);
        $post->delete();

        return back()->with('status', 'Eliminado con 茅xito');
    }
public function update(PostRequest $request, Post $post)
    {
        $post->update($request->all());

        if($request->file('file')){

            // eliminar la imagen
            Storage::disk("public")->delete((string) $post->image);

            $post->image = $request->file('file')->store('posts', 'public');
            $post->save();
        }

        return back()->with('status', 'Actualizado con 茅xito');
    }

Mi l贸gica me dice que antes de tratar de eliminar un archivo, primero debo de comprobar si existe. Pero durante el ejercicio siempre se manda a eliminar, as铆 el campo del nombre de archivo este vac铆o. Lo incre铆ble es que funciona.

Interesante, hasta ahora he seguido todo el curso y en mi caso todo va perfecto!

Hola tengo un problema cuando doy clic en actualizar solo recargar la pagina

Tambi茅n pueden ir a conf y agregar otra carpeta con visibilidad publica si quieren ir ordenando las fotos en carpetas por proyecto:

Archivo: config->filesystems.php

    'posts' => [
        'driver' => 'local',
        'root' => storage_path('app/posts'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

Estoy trabajando con php artisan serve. Cuando hago click en 鈥榚liminar鈥 salta el cartel de confirmaci贸n. Cuando doy ok no pasa nada, no se modifica nada. y en la consola aparece el siguiente msj:
Closed without sending a request; it was probably just an unused speculative preconnection

Alguna idea de lo que pueda estar pasando? gracias.

M茅todo destroy cuando image es null produce excepci贸n en Laravel. Fix:

Borrar solamente si $post->image no es null.

   public function destroy(Post $post)
    {
        if ($post->image != null){
            Storage::disk('public')->delete($post->image);
        }
        $post->delete();
        return back()->with('status', 'eliminado con 茅xito');
    }

Si estas en Laravel 9 y recibes este error al actualizar y eliminar un post que no tiene imagen (null en la base de datos):

League\Flysystem\Filesystem::delete(): Argument #1 ($location) must be of type string, null given

Modifica tu c贸digo asi:

if ($post->image) {
	Storage::disk('public')->delete($post->image);
}

En laravel 8, en el 谩rea de salvar y actualizar, cambien el $request->all(), por $request->validated(), para no tener problemas con la Base de Datos

para los q hicieron mostrando la imagen en el formulario editar y no les deja eliminar un post q no tiene imagen

public function destroy(Post $post)
    {
      
        if($post->image==""){
            $post->delete();
        }else{
            Storage::disk('public')->delete($post->image);
            $post->delete();//eliminamos post de la bd
        }

        return back()->with('status','Eliminado con exito');
    }
    public function update(PostRequest $request, Post $post)
    {
        $post->update($request->all());

        // imagen
        if($request->file('file'))
        {
            //eliminar imagen
            Storage::disk('public')->delete($post->image);

            $post->image = $request->file('file')->store('posts','public');
            $post->save();
        }

        return back()->with('status','Actualizado con 茅xito');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Post  $post
     * @return \Illuminate\Http\Response
     */
    public function destroy(Post $post)
    {
        Storage::disk('public')->delete($post->image);
        $post->delete();

        return back()->with('status','Eliminado Con 茅xito');
    }

Problema: No se actualiza el slug en DB
Encontr茅 la soluci贸n. Ten铆a el mismo problema. A Italo si se le actualiza pero no lo explica.

Ejecuta el siguiente comando:

php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider"

Se te creara un archivo, entonces dir铆gete al archivo siguiente:

config/sluggable.php

Ese archivo retorna un array. En la llave 鈥榦nUpdate鈥 cambia el valor a true. De hecho en al archivo mismo te da una explicaci贸n.
Quedar铆a as铆:

'onUpdate' => true,

Tratamiento de ciclo de uso de Laravel

Creamos rutas -> creamos Controlador -> configuramos -> creamos vista

Para eliminar una imagen debemos usar la clase** storage**

public function destroy(Post $post)
    {
        // Eliminaci贸n de una imagen
        Storage::disk('public')->delete($post->image);

        //Eliminar un post usando delete
        $post->delete();

        // Creamos una redirecci贸n a la vista anterior 
        // enviando feedback al usuario
        // usando una variable flash

        return back()->with('status', 'Eliminado con 茅xito');
    }

Excelente clase muy genial la forma de actualizar y eliminar

Actualizando la base de datos con la data enviada por el formulario de edicion
Funcion de Eliminar posts
12
A)Actualizar DB
B) Eliminacion de Posts

A)"PostController.php

use Illuminate\Support\Facades\Storage; //importamos para eliminar img


			//le pasamos PostRequest //archivo de validacion
    public function update(PostRequest $request, Post $post)
    {   

      
        $post->update(($request)->all()); //actualizamos todos los campos


        Storage::disk('public')->delete($post->image);//eliminamos foto existent


        if($request->file("file")){
            //si viene imagen eliminamos la anterior y guardamos la nueva
            $post->image= $request->file("file")->store("posts","public");
            $post->save();
        };

        return back()->with('status',"Actualizado con exito !");
    }





B) "PostController.php
    public function destroy(Post $post)
    {
        Storage::disk('public')->delete($post->image); //eliminar img
       $post->delete();

       return back()->with('status',"Eliminado con exito!");
    }

por ejemplo tengo en title que sea unico, entonces quiero utilizar el mismo formRequest que es PostRequest, como lo solucionaria??, o tengo que crear otro formRequest?