在非对象上调用成员函数setCuotabase()

时间:2013-06-03 12:03:28

标签: symfony

我有一个问题,我找不到原因..

我有一个这样的课程:

<?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-&gt; setCuotabase(true); 不起作用并返回此错误:     致命错误:在

中的非对象上调用成员函数setCuotabase()

我不明白为什么会出现这个错误。 任何线索?

提前致谢

1 个答案:

答案 0 :(得分:0)

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

目前:

$cuota->setCuotabase(true);

应该是:

$couta->setCuotabase(true);

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

或者我认为所有对象都应该命名为$cuota;)