当我尝试加载数据库结果时,它不起作用,直到我切换:
$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将()