es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Parece que tengo problemas al cargar imágenes. Sigo recibiendo el mensaje “No se puede utilizar un objeto del tipo App\Http\Controllers\PostsController como arreglo”.

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function create()
    {
        return view('posts/create');
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'caption' => 'required',
            'image' => 'required|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

        $imagePath = request('image')->store('uploads', 'public');

        auth()->user()->posts()->create([
            'caption' => $request['caption'],
            'image' => $imagePath,
        ]);

        return redirect('/profile/' . auth()->user->id);
    }
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Clase PostsController

    Este fragmento de código representa una clase en PHP llamada PostsController que extiende la clase Controller proporcionada por Laravel. El propósito principal de esta clase es manejar las solicitudes HTTP relacionadas con las publicaciones, como crear y almacenar publicaciones.

    Método __construct

    El método __construct es un método constructor que se llama cada vez que se crea una nueva instancia de esta clase. En este caso, establece el middleware llamado auth para asegurarse de que el usuario esté autenticado antes de acceder a los métodos create y store.

    Método create

    El método create devuelve una vista llamada posts/create. Esta vista se encarga de mostrar un formulario HTML para crear una nueva publicación.

    Método store

    El método store maneja la solicitud POST para crear una nueva publicación. Primero, valida los datos de la solicitud para asegurarse de que el campo caption y el archivo image sean obligatorios y cumplan ciertas condiciones. Luego, almacena la imagen cargada en el directorio public/uploads utilizando el método store del objeto Request. Finalmente, crea una nueva publicación asociada con el usuario autenticado, utilizando el caption validado y la ruta de la imagen cargada. El método luego redirige al usuario a su página de perfil.


    Nota: Los caracteres > y ' son entidades HTML que representan > y ' respectivamente. Deben ser decodificados para mostrar el código real.

Comments are closed.