属性路径“id_autoridad”给出的预期参数类型为“int”、“App\Entity\Autoridad”

问题描述 投票:0回答:1

当我正在开发 symofny 6 时,我想执行此表单:

<?php

namespace App\Form;

use App\Entity\Autoridad;
use App\Entity\BalanceAnual;
use Doctrine\DBAL\Types\IntegerType;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class BalanceAnualType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $id_partido = $options['id_partido'];
        $autoridades = $options['autoridades'];
        #dd($id_partido);
        $builder
            ->add('id_partido')
            ->add('presentacion_anual')
            ->add('ejercicio')
            ->add('dia_cierre_ejercicio')
            ->add('mes_cierre_ejercicio')
            ->add('anio_ejercicio')
            ->add('fecha_presentacion')
            ->add('aprobacion',ChoiceType::class,
                ['choices' => [
                    'SI' => 'S',
                    'NO' => 'N',
                ]])
            ->add('fecha_aprobacion')
            ->add('id_autoridad', ChoiceType::class,[
               'choices'=> $autoridades,
                'choice_label' => function ($autoridad) {
                    if(strlen($autoridad->getApellido_Nombre())> 0){
                        echo("<script>console.log('idAutoridad: " . $autoridad->getId()  ."');</script>");
                        return $autoridad->getApellido_Nombre();
                    }elseif(strlen($autoridad->getNombre())> 0){
                        echo("<script>console.log('idAutoridad: " . $autoridad->getId()  ."');</script>");
                        return $autoridad->getNombre() ." ".$autoridad->getApellido();
                    }else{
                        return $autoridad->getId();
                    }
                },
                'choice_value' =>'id'
            ])
            

            ->add('firmante_balance')
            ->add('movimentos',ChoiceType::class,
                ['choices' => [
                    'SI' => 'S',
                    'NO' => 'N',
                ]])
        ;
    }

    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefaults([
            'data_class' => BalanceAnual::class,
            'id_partido' => null,
            'autoridades' => null,
        ]);
    }
}

表单以我想要的方式显示所有信息,但是当我想推送数据时,我收到以下错误:属性路径“id_autoridad”给出的预期参数类型为“int”,“App\Entity\Autoridad”。

我的实体:

<?php

namespace App\Entity;

use App\Repository\BalanceAnualRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: BalanceAnualRepository::class)]
class BalanceAnual
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

    #[ORM\Column()]
    private ?int $id_partido = null;

    #[ORM\Column()]
    private ?int $presentacion_anual = null;

    #[ORM\Column]
    private ?int $ejercicio = null;

    #[ORM\Column(length: 2)]
    private ?int $dia_cierre_ejercicio = null;

    #[ORM\Column(length: 2)]
    private ?int $mes_cierre_ejercicio = null;

    #[ORM\Column(length: 4)]
    private ?int $anio_ejercicio = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $fecha_presentacion = null;

    #[ORM\Column(length: 1)]
    private ?string $aprobacion = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $fecha_aprobacion = null;

    #[ORM\Column]
    private ?int $id_autoridad = null;

    #[ORM\Column(length: 100)]
    private ?string $firmante_balance = null;

    #[ORM\Column(length: 1)]
    private ?string $movimentos = null;

    /*#[ORM\ManyToOne(targetEntity: Autoridad::class)]
    #[ORM\JoinColumn(name: 'id_autoridad', referencedColumnName: 'id')]
    private $autoridad;

    #[ORM\ManyToOne(targetEntity: Partido::class)]
    #[ORM\JoinColumn(name: 'id_partido', referencedColumnName: 'id')]
    private $partido;*/
    public function getId(): ?int
    {
        return $this->id;
    }
    public function getId_Partido(): ?int{
        return $this->id_partido;
    }

    public function setId_Partido(int $id_partido): static
    {
        $this->id_partido=$id_partido;

        return $this;
    }


    public function getIdPartido(): ?int
    {
        return $this->id_partido;
    }

    public function setIdPartido(int $id_partido): static
    {
        $this->id_partido = $id_partido;

        return $this;
    }

    public function getPresentacion_Anual(): ?string
    {
        return $this->presentacion_anual;
    }

    public function setPresentacion_Anual(string $presentacion_anual): static
    {
        $this->presentacion_anual = $presentacion_anual;

        return $this;
    }
    public function getPresentacionAnual(): ?string
    {
        return $this->presentacion_anual;
    }

    public function setPresentacionAnual(string $presentacion_anual): static
    {
        $this->presentacion_anual = $presentacion_anual;

        return $this;
    }

    public function getEjercicio(): ?int
    {
        return $this->ejercicio;
    }

    public function setEjercicio(int $ejercicio): static
    {
        $this->ejercicio = $ejercicio;

        return $this;
    }

    public function getDia_Cierre_Ejercicio(): ?int
    {
        return $this->dia_cierre_ejercicio;
    }

    public function setDia_Cierre_Ejercicio(int $dia_cierre_ejercicio): static
    {
        $this->dia_cierre_ejercicio = $dia_cierre_ejercicio;

        return $this;
    }
    public function getDiaCierreEjercicio(): ?int
    {
        return $this->dia_cierre_ejercicio;
    }

    public function setDiaCierreEjercicio(int $dia_cierre_ejercicio): static
    {
        $this->dia_cierre_ejercicio = $dia_cierre_ejercicio;

        return $this;
    }

    public function getMes_cierre_ejercicio(): ?int
    {
        return $this->mes_cierre_ejercicio;
    }

    public function setMes_cierre_ejercicio(int $mes_cierre_ejercicio): static
    {
        $this->mes_cierre_ejercicio = $mes_cierre_ejercicio;

        return $this;
    }
    public function getMesCierreEjercicio(): ?int
    {
        return $this->mes_cierre_ejercicio;
    }

    public function setMesCierreEjercicio(int $mes_cierre_ejercicio): static
    {
        $this->mes_cierre_ejercicio = $mes_cierre_ejercicio;

        return $this;
    }

    public function getAnio_Ejercicio(): ?int
    {
        return $this->anio_ejercicio;
    }

    public function setAnio_Ejercicio(int $anio_ejercicio): static
    {
        $this->anio_ejercicio = $anio_ejercicio;

        return $this;
    }

    public function getAnioEjercicio(): ?int
    {
        return $this->anio_ejercicio;
    }

    public function setAnioEjercicio(int $anio_ejercicio): static
    {
        $this->anio_ejercicio = $anio_ejercicio;

        return $this;
    }

    public function getFecha_Presentacion(): ?\DateTimeInterface
    {
        return $this->fecha_presentacion;
    }

    public function setFecha_Presentacion(\DateTimeInterface $fecha_presentacion): static
    {
        $this->fecha_presentacion = $fecha_presentacion;

        return $this;
    }

    public function getFechaPresentacion(): ?\DateTimeInterface
    {
        return $this->fecha_presentacion;
    }

    public function setFechaPresentacion(\DateTimeInterface $fecha_presentacion): static
    {
        $this->fecha_presentacion = $fecha_presentacion;

        return $this;
    }

    public function getAprobacion(): ?string
    {
        return $this->aprobacion;
    }

    public function setAprobacion(string $aprobacion): static
    {
        $this->aprobacion = $aprobacion;

        return $this;
    }



    public function getFecha_Aprobacion(): ?\DateTimeInterface
    {
        return $this->fecha_aprobacion;
    }

    public function setFecha_Aprobacion(\DateTimeInterface $fecha_aprobacion): static
    {
        $this->fecha_aprobacion = $fecha_aprobacion;

        return $this;
    }
    public function getFechaAprobacion(): ?\DateTimeInterface
    {
        return $this->fecha_aprobacion;
    }

    public function setFechaAprobacion(\DateTimeInterface $fecha_aprobacion): static
    {
        $this->fecha_aprobacion = $fecha_aprobacion;

        return $this;
    }

    public function getId_autoridad(): ?int
    {
        return $this->id_autoridad;
    }

    public function setId_autoridad(int $id_autoridad): static
    {
        $this->id_autoridad = $id_autoridad;

        return $this;
    }

    public function getIdAutoridad(): ?int
    {
        return $this->id_autoridad;
    }

    public function setIdAutoridad(int $id_autoridad): static
    {
        $this->id_autoridad = $id_autoridad;

        return $this;
    }

    public function getFirmante_Balance(): ?string
    {
        return $this->firmante_balance;
    }

    public function setFirmante_Balance(string $firmante_balance): static
    {
        $this->firmante_balance = $firmante_balance;

        return $this;
    }

    public function getFirmanteBalance(): ?string
    {
        return $this->firmante_balance;
    }

    public function setFirmanteBalance(string $firmante_balance): static
    {
        $this->firmante_balance = $firmante_balance;

        return $this;
    }

    public function getMovimentos(): ?string
    {
        return $this->movimentos;
    }

    public function setMovimentos(string $movimentos): static
    {
        $this->movimentos = $movimentos;

        return $this;
    }
}

我的控制器:

#[Route('/{idPartido}/detalle/new', name: 'app_balance_anual_new', methods: ['GET', 'POST'])]
public function new($idPartido,Request $request, EntityManagerInterface $entityManager): Response
{
    $id_partido = intval($idPartido);
    $balanceAnual = new BalanceAnual();
    $autoridades = $entityManager->getRepository(Autoridad::class)->findBy(['id_partido' => $id_partido]);
    #dd($autoridades);
    $form = $this->createForm(BalanceAnualType::class, $balanceAnual, ['id_partido' => $idPartido, 'autoridades' => $autoridades]);
    $form->get('id_partido')->setData($idPartido);

    #dd($form->getData(), $form->getErrors());
   // print_r($request);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        //dd($balanceAnual);
        $value = $form->get('id_autoridad')->getData();
        $balanceAnual->setIdAutoridad($value);
        $entityManager->persist($balanceAnual);
            #dd($balanceAnual);
        $entityManager->flush();

        return $this->redirectToRoute('app_balance_anual_index', ['idPartido' => $idPartido,], Response::HTTP_SEE_OTHER);
    }

    return $this->render('balance_anual/new.html.twig', [
        'balance_anual' => $balanceAnual,
        'idPartido' => $idPartido,
        'form' => $form,
    ]);
}

另外两个实体:Partido:

<?php

namespace App\Entity;

use App\Repository\PartidoRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: PartidoRepository::class)]
class Partido
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

    #[ORM\Column(length: 100)]
    private ?string $nombre = null;

    #[ORM\Column]
    private ?int $numero = null;

    #[ORM\Column(length: 1)]
    private ?string $ambito = null;

    #[ORM\Column(length: 100)]
    private ?string $domicilio = null;

    #[ORM\Column]
    private ?int $id_localidad = null;

    #[ORM\Column(length: 255)]
    private ?string $domicilio_partidario = null;

    #[ORM\Column]
    private ?int $id_localidad_domicilio_partidario = null;

    #[ORM\Column(length: 100)]
    private ?string $telefono = null;

    #[ORM\Column(length: 100)]
    private ?string $email = null;

    #[ORM\Column(length: 1)]
    private ?string $tipo = null;

    #[ORM\Column(length: 2)]
    private ?string $estado = null;

    #[ORM\Column(length: 255)]
    private ?string $observaciones = null;

    #[ORM\Column(length: 1)]
    private ?string $libros = null;

    #[ORM\Column(length: 1)]
    private ?string $tipo_firma = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $fecha_presentacion = null;

    #[ORM\Column]
    private ?int $id_localidad_ambito = null;

    #[ORM\Column]
    private ?int $id_auto_provisorio = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $notificacion_auto_provisorio = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $publicacion_boletin_oficial = null;

    #[ORM\Column]
    private ?int $id_auto_definitivo = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $notificacion_auto_definitivo = null;

    #[ORM\Column]
    private ?int $id_auto_caducidad = null;

    #[ORM\Column(length: 255)]
    private ?string $observacion_caducidad = null;

    #[ORM\Column]
    private ?int $id_expediente = null;

    #[ORM\Column]
    private ?int $renueva_interna = null;

    #[ORM\Column]
    private ?int $id_extincion = null;

    #[ORM\Column]
    private ?int $codigo_postal = null;

    #[ORM\Column]
    private ?int $anio_exp_electronico = null;

    #[ORM\Column]
    private ?int $nro_exp_electronico = null;

    #[ORM\Column(type: Types::BIGINT)]
    private ?string $cuil_apoderado_notif = null;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getNombre(): ?string
    {
        return $this->nombre;
    }

    public function setNombre(string $nombre): static
    {
        $this->nombre = $nombre;

        return $this;
    }

    public function getNumero(): ?int
    {
        return $this->numero;
    }

    public function setNumero(int $numero): static
    {
        $this->numero = $numero;

        return $this;
    }

    public function getAmbito(): ?string
    {
        return $this->ambito;
    }

    public function setAmbito(string $ambito): static
    {
        $this->ambito = $ambito;

        return $this;
    }

    public function getDomicilio(): ?string
    {
        return $this->domicilio;
    }

    public function setDomicilio(string $domicilio): static
    {
        $this->domicilio = $domicilio;

        return $this;
    }

    public function getIdLocalidad(): ?int
    {
        return $this->id_localidad;
    }
    public function getId_Localidad(): ?int
    {
        return $this->id_localidad;
    }

    public function setIdLocalidad(int $id_localidad): static
    {
        $this->id_localidad = $id_localidad;

        return $this;
    }

    public function getDomicilioPartidario(): ?string
    {
        return $this->domicilio_partidario;
    }

    public function setDomicilioPartidario(string $domicilio_partidario): static
    {
        $this->domicilio_partidario = $domicilio_partidario;

        return $this;
    }

    public function getIdLocalidadDomicilioPartidario(): ?int
    {
        return $this->id_localidad_domicilio_partidario;
    }

    public function setIdLocalidadDomicilioPartidario(int $id_localidad_domicilio_partidario): static
    {
        $this->id_localidad_domicilio_partidario = $id_localidad_domicilio_partidario;

        return $this;
    }

    public function getTelefono(): ?string
    {
        return $this->telefono;
    }

    public function setTelefono(string $telefono): static
    {
        $this->telefono = $telefono;

        return $this;
    }

    public function getEmail(): ?string
    {
        return $this->email;
    }

    public function setEmail(string $email): static
    {
        $this->email = $email;

        return $this;
    }

    public function getTipo(): ?string
    {
        return $this->tipo;
    }

    public function setTipo(string $tipo): static
    {
        $this->tipo = $tipo;

        return $this;
    }

    public function getEstado(): ?string
    {
        return $this->estado;
    }

    public function setEstado(string $estado): static
    {
        $this->estado = $estado;

        return $this;
    }

    public function getObservaciones(): ?string
    {
        return $this->observaciones;
    }

    public function setObservaciones(string $observaciones): static
    {
        $this->observaciones = $observaciones;

        return $this;
    }

    public function getLibros(): ?string
    {
        return $this->libros;
    }

    public function setLibros(string $libros): static
    {
        $this->libros = $libros;

        return $this;
    }

    public function getTipoFirma(): ?string
    {
        return $this->tipo_firma;
    }

    public function setTipoFirma(string $tipo_firma): static
    {
        $this->tipo_firma = $tipo_firma;

        return $this;
    }

    public function getFechaPresentacion(): ?\DateTimeInterface
    {
        return $this->fecha_presentacion;
    }

    public function setFechaPresentacion(\DateTimeInterface $fecha_presentacion): static
    {
        $this->fecha_presentacion = $fecha_presentacion;

        return $this;
    }

    public function getIdLocalidadAmbito(): ?int
    {
        return $this->id_localidad_ambito;
    }

    public function setIdLocalidadAmbito(int $id_localidad_ambito): static
    {
        $this->id_localidad_ambito = $id_localidad_ambito;

        return $this;
    }

    public function getIdAutoProvisorio(): ?int
    {
        return $this->id_auto_provisorio;
    }

    public function setIdAutoProvisorio(int $id_auto_provisorio): static
    {
        $this->id_auto_provisorio = $id_auto_provisorio;

        return $this;
    }

    public function getNotificacionAutoprovisorio(): ?\DateTimeInterface
    {
        return $this->notificacion_auto_provisorio;
    }

    public function setNotificacionAuto_provisorio(\DateTimeInterface $notificacion_auto_provisorio): static
    {
        $this->notificacion_auto_provisorio = $notificacion_auto_provisorio;

        return $this;
    }

    public function getPublicacionBoletinOficial(): ?\DateTimeInterface
    {
        return $this->publicacion_boletin_oficial;
    }

    public function setPublicacionBoletinOficial(\DateTimeInterface $publicacion_boletin_oficial): static
    {
        $this->publicacion_boletin_oficial = $publicacion_boletin_oficial;

        return $this;
    }

    public function getIdAutoDefinitivo(): ?int
    {
        return $this->id_auto_definitivo;
    }

    public function setIdAutoDefinitivo(int $id_auto_definitivo): static
    {
        $this->id_auto_definitivo = $id_auto_definitivo;

        return $this;
    }

    public function getNotificacionAutoDefinitivo(): ?\DateTimeInterface
    {
        return $this->notificacion_auto_definitivo;
    }

    public function setNotificacionAutoDefinitivo(\DateTimeInterface $notificacion_auto_definitivo): static
    {
        $this->notificacion_auto_definitivo = $notificacion_auto_definitivo;

        return $this;
    }

    public function getIdAutoCaducidad(): ?int
    {
        return $this->id_auto_caducidad;
    }

    public function setIdAutoCaducidad(int $id_auto_caducidad): static
    {
        $this->id_auto_caducidad = $id_auto_caducidad;

        return $this;
    }

    public function getObservacionCaducidad(): ?string
    {
        return $this->observacion_caducidad;
    }

    public function setObservacionCaducidad(string $observacion_caducidad): static
    {
        $this->observacion_caducidad = $observacion_caducidad;

        return $this;
    }

    public function getIdExpediente(): ?int
    {
        return $this->id_expediente;
    }

    public function setIdExpediente(int $id_expediente): static
    {
        $this->id_expediente = $id_expediente;

        return $this;
    }

    public function getRenuevaInterna(): ?int
    {
        return $this->renueva_interna;
    }

    public function setRenuevaInterna(int $renueva_interna): static
    {
        $this->renueva_interna = $renueva_interna;

        return $this;
    }

    public function getIdExtincion(): ?int
    {
        return $this->id_extincion;
    }

    public function setIdExtincion(int $id_extincion): static
    {
        $this->id_extincion = $id_extincion;

        return $this;
    }

    public function getCodigoPostal(): ?int
    {
        return $this->codigo_postal;
    }

    public function setCodigoPostal(int $codigo_postal): static
    {
        $this->codigo_postal = $codigo_postal;

        return $this;
    }

    public function getAnioExpElectronico(): ?int
    {
        return $this->anio_exp_electronico;
    }

    public function setAnioExpElectronico(int $anio_exp_electronico): static
    {
        $this->anio_exp_electronico = $anio_exp_electronico;

        return $this;
    }

    public function getNroExpElectronico(): ?int
    {
        return $this->nro_exp_electronico;
    }

    public function setNroExpElectronico(int $nro_exp_electronico): static
    {
        $this->nro_exp_electronico = $nro_exp_electronico;

        return $this;
    }

    public function getCuilApoderadoNotif(): ?string
    {
        return $this->cuil_apoderado_notif;
    }

    public function setCuilApoderadoNotif(string $cuil_apoderado_notif): static
    {
        $this->cuil_apoderado_notif = $cuil_apoderado_notif;

        return $this;
    }
}

自动驾驶:

<?php

namespace App\Entity;

use App\Repository\AutoridadRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity(repositoryClass: AutoridadRepository::class)]
class Autoridad
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

    #[ORM\Column]
    private ?int $documento = null;

    #[ORM\Column(length: 1)]
    private ?string $sexo = null;

    #[ORM\Column(length: 10)]
    private ?string $tipo = null;

    #[ORM\Column(length: 200)]
    private ?string $apellido_nombre = null;

    #[ORM\Column(length: 100)]
    private ?string $apellido = null;

    #[ORM\Column(length: 100)]
    private ?string $nombre = null;

    #[ORM\Column(length: 100)]
    private ?string $domicilio = null;

    #[ORM\Column(length: 50)]
    private ?string $telefono = null;

    #[ORM\Column(length: 100)]
    private ?string $correo = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $fecha_alta = null;

    #[ORM\Column(type: Types::DATE_MUTABLE)]
    private ?\DateTimeInterface $fecha_baja = null;

    #[ORM\Column]
    private ?int $id_rol = null;

    #[ORM\Column]
    private ?int $orden = null;

    #[ORM\Column]
    private ?int $id_partido = null;

    #[ORM\Column]
    private ?int $id_eleccion_interna = null;

    #[ORM\Column]
    private ?int $id_alianza = null;

    public function getId(): ?int
    {
        return $this->id;
    }
    public function getApellidoNombre(): ?string
    {
        return $this->apellido_nombre;
    }

    public function getDocumento(): ?int
    {
        return $this->documento;
    }

    public function setDocumento(int $documento): static
    {
        $this->documento = $documento;

        return $this;
    }

    public function getSexo(): ?string
    {
        return $this->sexo;
    }

    public function setSexo(string $sexo): static
    {
        $this->sexo = $sexo;

        return $this;
    }

    public function getTipo(): ?string
    {
        return $this->tipo;
    }

    public function setTipo(string $tipo): static
    {
        $this->tipo = $tipo;

        return $this;
    }

    public function getApellido_Nombre(): ?string
    {
        return $this->apellido_nombre;
    }

    public function setApellido_Nombre(string $apellido_nombre): static
    {
        $this->apellido_nombre = $apellido_nombre;

        return $this;
    }

    public function getApellido(): ?string
    {
        return $this->apellido;
    }

    public function setApellido(string $apellido): static
    {
        $this->apellido = $apellido;

        return $this;
    }

    public function getNombre(): ?string
    {
        return $this->nombre;
    }

    public function setNombre(string $nombre): static
    {
        $this->nombre = $nombre;

        return $this;
    }

    public function getDomicilio(): ?string
    {
        return $this->domicilio;
    }

    public function setDomicilio(string $domicilio): static
    {
        $this->domicilio = $domicilio;

        return $this;
    }

    public function getTelefono(): ?string
    {
        return $this->telefono;
    }

    public function setTelefono(string $telefono): static
    {
        $this->telefono = $telefono;

        return $this;
    }

    public function getCorreo(): ?string
    {
        return $this->correo;
    }

    public function setCorreo(string $correo): static
    {
        $this->correo = $correo;

        return $this;
    }

    public function getFechaAlta(): ?\DateTimeInterface
    {
        return $this->fecha_alta;
    }

    public function setFechaAlta(\DateTimeInterface $fecha_alta): static
    {
        $this->fecha_alta = $fecha_alta;

        return $this;
    }

    public function getFechaBaja(): ?\DateTimeInterface
    {
        return $this->fecha_baja;
    }

    public function setFechaBaja(\DateTimeInterface $fecha_baja): static
    {
        $this->fecha_baja = $fecha_baja;

        return $this;
    }

    public function getIdRol(): ?int
    {
        return $this->id_rol;
    }

    public function setIdRol(int $id_rol): static
    {
        $this->id_rol = $id_rol;

        return $this;
    }

    public function getOrden(): ?int
    {
        return $this->orden;
    }

    public function setOrden(int $orden): static
    {
        $this->orden = $orden;

        return $this;
    }

    public function getIdPartido(): ?int
    {
        return $this->id_partido;
    }

    public function setIdPartido(int $id_partido): static
    {
        $this->id_partido = $id_partido;

        return $this;
    }

    public function getIdEleccionInterna(): ?int
    {
        return $this->id_eleccion_interna;
    }

    public function setIdEleccionInterna(int $id_eleccion_interna): static
    {
        $this->id_eleccion_interna = $id_eleccion_interna;

        return $this;
    }

    public function getIdAlianza(): ?int
    {
        return $this->id_alianza;
    }

    public function setIdAlianza(int $id_alianza): static
    {
        $this->id_alianza = $id_alianza;

        return $this;
    }
}

我试图通过尝试choiceType的不同选项以及尝试entityType来解决问题:

->add('id_autoridad', EntityType::class, [
                'class' => Autoridad::class,
                'query_builder' => function (EntityRepository $er) use ($id_partido) {
                    return $er->createQueryBuilder('a')
                        ->andWhere('a.id_partido = :id_partido')
                        ->setParameter('id_partido', $id_partido);
                },
                'choice_label' => function (Autoridad $autoridad) {
                    if(strlen($autoridad->getApellido_Nombre())> 0){
                        return $autoridad->getApellido_Nombre();
                    }elseif(strlen($autoridad->getNombre())> 0){
                        return $autoridad->getNombre() ." ".$autoridad->getApellido();
                    }else{
                        return $autoridad->getId();
                    }
                },
                'choice_value' => function (?Autoridad $autoridad) {
                    if ($autoridad !== null) {
                        echo("<script>console.log('idAutoridad: " . $autoridad->getId()  ."');</script>");
                        $value = (int) $autoridad->getId();
                        return $value;
                    }
                    echo("<script>console.log(' No Entro');</script>");
                    return '';
                },
                'placeholder' => 'Selecciona un estado','required' => true,
                ])
php symfony symfony-forms symfony6
1个回答
0
投票

您的实体期望 $id_autoridad 为 int,但在形式上您正在使用选择对象的 EntityType

© www.soinside.com 2019 - 2024. All rights reserved.