Symfony Model返回null而不是class

时间:2016-11-04 17:11:05

标签: php symfony

当我尝试加载数据库结果时,它不起作用,直到我切换:

$id === null 

$id !== null

..然后,一切都按预期加载。我错过了什么?

这是我的代码:

的config.php

'services' => array(
   'models' =>  array(
       'serv.widget.model.widget' => array(
             'class' => 'ServPlugin\BundleNameBundle\Model\ClassModel'
          )
   )
  ),

DefaultController.php

namespace ServPlugin\BundleNameBundle\Controller;
use Serv\CoreBundle\Controller\FormController;
use ServPlugin\BundleNameBundle\Entity\Class;

    /** @var \ServPlugin\BundleNameBundle\Model\ClassModel $classModel */
    $classModel = $this->getModel('class');
    /** @var \ServPlugin\BundleNameBundle\Entity\Class $class */
    $class = $classModel->getEntity($formId);

//html here
echo 'Total Rows: '.$class->getCount();

ClassModel.php

namespace ServPlugin\BundleNameBundleBundle\Model;
use Serv\CoreBundle\Model\FormModel;
use ServPlugin\BundleNameBundleBundle\Entity\Class;
use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;

class ClassModel extends FormModel
{

public function getEntity($id = null)
{
    if ($id === null) {
        return new Class();
    }

    return parent::getEntity($id);
}

函数getEntity是我正在努力的方法。 当我查看缓存时,我可以看到模型正在加载,但是在我向后返回null值之前我无法访问它。

(事实证明,$ classModel什么都没有加载; - 所以当我的代码转移到$ class-> getCount()时 - $ formId正常工作(这是一个数字);模型应该使用ID#7的ServPlugin \ BundleNameBundle \ Model \ ClassModel加载FIRST,对吗?)

这是我尝试按照上面的帖子调用时得到的错误:

  

在null上调用成员函数getCount() - 在文件/var/www/plugins/BundleNameBundle/Controller/DefaultController.php中 - 在第299行[] []

第299行:     $类 - > getCount将()

0 个答案:

没有答案