Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model Symfony 1.4扩展模型错误_Model_Symfony 1.4_Extend - Fatal编程技术网

Model Symfony 1.4扩展模型错误

Model Symfony 1.4扩展模型错误,model,symfony-1.4,extend,Model,Symfony 1.4,Extend,在反复阅读了Symfony的1.4文档并在谷歌进行了充分的研究之后,我决定在这里询问一下。 我有一个名为“ot”的模型,我想有一个方法getUnreadMsg()来获取一些特定的数据 这是一节课: class ot extends Baseot { public function __toString() { return $this->getNombre(); } public function getNumberOfUnreadMsgs()

在反复阅读了Symfony的1.4文档并在谷歌进行了充分的研究之后,我决定在这里询问一下。 我有一个名为“
ot
”的模型,我想有一个方法
getUnreadMsg()
来获取一些特定的数据

这是一节课:

class ot extends Baseot {

    public function __toString() {
        return $this->getNombre();
    }

    public function getNumberOfUnreadMsgs() {
        $mensajes = Doctrine_Core::getTable('mensaje')
                ->createQuery('m')
                ->where('m.ots_id=' . $this->getId())
                ->andWhere('m.estado=0')
                ->orderBy('m.created_at DESC')
                ->execute();
        return count($mensajes);

    }
}
这就是我在视图层中使用它的方式:

<?php foreach ($ots as $ot): ?>
  ....
  <?php echo $ot->getNumberOfUnreadMsgs();   ?>
  ....
<?php endforeach; ?>

尝试用一个不以“get”开头的名称重新命名函数。
它似乎要搜索“numberofunread”属性…

由于某种原因,代码找不到该方法

我注意到的一件事是,这个案子是不对的。它应该是Ot而不是Ot。不确定这是否导致了问题,但这肯定是错误的。在confif/doctor/ot.yml中,将第一行更改为ot并重建模型


在代码中进行必要的更新。它应该可以工作。

听起来像是用一个_get()魔术方法重载,在这个方法中,任何getter调用都会尝试查找相应的属性,例如getFirstName()查找属性“first_name”。在本例中,它试图找到“未读MSG的数量”。我的第一个倾向是认为foreach循环中的ot对象与模型中的ot对象不同。foreach循环中的var_dump($ot)显示了什么?当我进行var_转储时,浏览器死机。我得到一个空白页,firebug向我显示此错误:未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。“如果您不能执行var_dump(),将使调试变得非常困难。谢谢,是的,模型的情况是错误的。这会导致太多问题。
Unknown record property / related component "number_of_unread_msgs" on "ot"