无法访问实体属性

时间:2017-06-18 09:36:51

标签: php symfony

我的BDD上有一个名为Reading的列表。我正在使用捆绑包实现聊天,并且如果收到未经解决的消息,我想提醒用户,以便我使用此列。但我无法访问实体的属性。我的意思是捆绑设置默认读取值为1,但我试图将其更改为0但不起作用。 我试图将实体属性设置读取值修改为false但得到相同的结果。

我会放置实体代码。我提出了一些建议。

@Transactional

我试图将protected替换为private,但得到的结果相同。

在我的控制器中,我有一个函数sendMessage,我实现了Logs来检查这个读取值,但是它打印了Message example [] []。所以没有得到阅读的价值。

    <?php


namespace belousovr\belousovChatBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use FOS\UserBundle\Model\User;

/**
 * @ORM\Entity
 * @ORM\Entity(repositoryClass="belousovr\belousovChatBundle\Entity\MessagesRepository")
 * @ORM\Table(name="belousovr_messages")
 */
class Messages
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="messageText", type="string", length=255)
     */
    protected $messageText;

    /**
     * @var boolean
     *
     * @ORM\Column(name="reading", type="boolean")
     */
    protected $reading;


    protected $author;

    protected $addressee;

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

    /**
     * Set messageText
     *
     * @param string $messageText
     *
     * @return Messages
     */
    public function setMessageText($messageText)
    {
        $this->messageText = $messageText;

        return $this;
    }

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

    /**
     * Set reading
     *
     * @param boolean $reading
     *
     * @return Messages
     */
    public function setReading($reading = false)
    {
        $this->reading = $reading;

        return $this;
    }

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

    /**
     * Set author
     *
     * @param $author
     *
     * @return Messages
     */
    public function setAuthor($author)
    {
        $this->author = $author;

        return $this;
    }

    /**
     * Get author
     */
    public function getAuthor()
    {
        return $this->author;
    }

    /**
     * Set author
     *
     * @param $addressee
     *
     * @return Messages
     */
    public function setAddressee($addressee)
    {
        $this->addressee = $addressee;

        return $this;
    }

    /**
     * Get author
     */
    public function getAddressee()
    {
        return $this->addressee;
    }
    }

1 个答案:

答案 0 :(得分:0)

首先尝试将假密码硬编码到setter中

   /**
 * Set reading
 *
 * @param boolean $reading
 *
 * @return Messages
 */
public function setReading()
{
    $this->reading = false;

    return $this;
}

或者创建构造函数并将读取变量设置为false。

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

否则显示您用于记录结果的函数。