0

我有一个问题,我不知道为什么..

我有这样的课:

<?php

namespace Backend\EscuelaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * CuotaEscuela
 *
 * @ORM\Table(name="cuotaescuela")
 * @ORM\Entity
 */
class CuotaEscuela
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="descripcion", type="string", length=50)
     */
    private $descripcion;

    /**
     * @var integer
     *
     * @ORM\Column(name="cantidad", type="integer")
     */
    private $cantidad;

    /**
     * @var boolean
     *
     * @ORM\Column(name="cuotabase", type="boolean", nullable=true)
     */
    private $cuotabase;


   /**
     * @var integer
     *
     * @ORM\ManyToOne(targetEntity="Backend\EscuelaBundle\Entity\Escuela", inversedBy="cuotas")
     * @ORM\JoinColumn(name="escuela_id", referencedColumnName="id", onDelete="CASCADE")
     */
    private $escuela;

    public function __construct () {
        $this->cuotabase = false;
    }


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set descripcion
     *
     * @param string $descripcion
     * @return CuotaEscuela
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;

        return $this;
    }

    /**
     * Get descripcion
     *
     * @return string 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Set cantidad
     *
     * @param integer $cantidad
     * @return CuotaEscuela
     */
    public function setCantidad($cantidad)
    {
        $this->cantidad = $cantidad;

        return $this;
    }

    /**
     * Get cantidad
     *
     * @return integer 
     */
    public function getCantidad()
    {
        return $this->cantidad;
    }

    /**
     * Set escuela
     *
     * @param \Backend\EscuelaBundle\Entity\Escuela $escuela
     * @return Grupo
     */
    public function setEscuela(\Backend\EscuelaBundle\Entity\Escuela $escuela = null)
    {
        $this->escuela = $escuela;

        return $this;
    }

    /**
     * Get escuela
     *
     * @return \Backend\EscuelaBundle\Entity\Escuela 
     */
    public function getEscuela()
    {
        return $this->escuela;
    }


     /**
     * Set cuotabase
     *
     * @param boolean $cuotabase
     * @return CuotaEscuela
     */
    public function setCuotabase($p)
    {
        $this->cuotabase = $p;

        return $this;
    }

    /**
     * Get cuotabase
     *
     * @return boolean 
     */
    public function getCuotabase()
    {
        return $this->cuotabase;
    }


    public function __toString() {
        return $this->descripcion." - ".$this->cantidad." €";
    }
}

在我的控制器中调用它:

$couta = new CuotaEscuela();
$couta->setDescripcion("Cuota Base"); 
$couta->setCantidad(0);
$couta->setEscuela($entity);
$cuota->setCuotabase(true);
$entity->addCuota($couta);

Al 方法工作正常,但在第 107 行$cuota->setCuotabase(true); 不起作用并返回此错误: 致命错误:调用非对象上的成员函数 setCuotabase()

我不明白为什么会显示这个错误。有什么线索吗?

提前致谢

4

1 回答 1

0

检查语法:$couta而不是$cuota!^^

目前 :

$cuota->setCuotabase(true);

应该 :

$couta->setCuotabase(true);

因为您将对象初始化为$couta = new CuotaEscuela();

或者我想所有的对象都应该被命名$cuota;)

于 2013-06-03T12:23:37.370 回答