2

Estoy realizando pruebas en postman en mi servidor de pruebas y me arroja el error "Array to string conversion" cuando hago la solicitud POST:

Controller:

public function store(DocenteRequest $request)
{
    $DocenteRequest = new Docentes($request->all());
    $DocenteRequest->save();    
        
    return response()->json([
        // 'estado'=>$DocenteRequest,
        'Consulta'=>$request
    ]);
    var_dump($request);
}

Request:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class DocenteRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            "Nombres"=>"required",
            'Apellidos'=>"required",
            'Nacimiento'=>"required",
            'Edad'=>"required",
            'Sexo'=>"required",
            'Correo'=>"required|unique:docentes,Correo",
            'Celular'=>"required",
            'Pass'=>"required",
            'Documento'=>"required",
            'Materia'=>"required",
            'Aula'=>"required",
            'Colegio'=>"required",
            'detalles'=>"required",
            'estudios'=>"required",
            'Img'=>"required",
            'Cargo'=>"required",
            'Intereses'=>"required",
            'Estado'=>"required"
        ];
    }
}

Modelo:

{
    protected $table = 'docentes';
    protected $guarded = 'id';
    protected $fillable = ['Nombres','Apellidos','Nacimiento','Edad','Sexo','Correo','Celular','Pass','Documento','Materia','Aula','Colegio','detalles','estudios','Img','Cargo','Intereses','Estado'];
}

No me deja ver la variable que recibe el DocenteRequest. No se si será por el json que recibe.

Datos de postman:

{
  "Nombres": "sasddasasdasd",
  "Apellidos": "asdsdasadasdasdasd",
  "Nacimiento": "2022-03-24",
  "Edad": 24,
  "Sexo": 1,
  "Correo": "[email protected]",
  "Celular": 12132654,
  "Pass": "465asd546asd654sd654",
  "Documento": 465654987,
  "Materia": 465,
  "Aula": 54,
  "Colegio": 1,
  "detalles": 1,
  "estudios": 1,
  "Img": "adasdasdasdasdasdasda",
  "Cargo": "adddasdasadasdasdasdasdasd",
  "Intereses": {
    "titulo": "Este es un artículo",
    "visitas": 345,
    "publicado": true,
    "categoria": null,
    "comentarios": [{
        "autor": "Luisa López",
        "mensaje": "Muy buen artículo"
      },
      {
        "autor": "Carlos Pérez",
        "mensaje": "Artículo muy malo"
      }
    ]
  },
  "Estado": 1
}

1
  • 1
    Normalmente este error ocurre cuando intentas imprimir un array como si fuera un string, como veo que estas usando var_dump para hacer el debug podrias usar print_r($array) para revisar tu request o bien laravel tiene un helper dd($variable) que nos apoya para revisar cualquier tipo de dato de la variable. Commented el 31 mar. 2022 a las 22:45

1 respuesta 1

1

Bien ya encontré cual fue mi error, el problema estaba en el json que estaba intentando guardar y lo que hice fue convertirlo en un json antes de guardarlo, ya que en la base de datos tengo el dato listo para resibir un json.

    $DocenteRequest = new Docentes($request->all());
    $DocenteRequest->Intereses = json_encode($DocenteRequest->Intereses);
    $hola = $DocenteRequest->Intereses;
    $DocenteRequest->save();    

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.