我使用奏鸣曲管理,我有一个'Fonctionnare‘实体。我将该实体的'codeFonctionnaire‘类型更改为string,但是当我创建Fonctionnaire管理类并尝试添加新的fonctionaire时,我得到了以下错误消息:属性"codeFonctionnaire“或方法"setCodeFonctionnaire()”、"_set()“或"_call()”都不存在,并且在类"Examens\ExamensBundle\ entity \Fonctionnaire“中具有公共访问权限。Fonctionnaire.php:
<?php
namespace Examens\ExamensBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Fonctionnaire
*/
class Fonctionnaire
{
/**
* @var string
*/
private $codeFonctionnaire;
//////
/**
* Get codeFonctionnaire
*
* @return string
*/
public function getCodeFonctionnaire()
{
return $this->codeFonctionnaire;
}
////////FonctionnaireAdmin.php:
<?php
namespace Examens\ExamensBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Validator\ErrorElement;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
use Examens\ExamensBundle\Entity\Fonctionnaire;
class FonctionnaireAdmin extends Admin
{
protected $datagridValues = array(
'_sort_order' => 'ASC',
'_sort_by' => 'codeFonctionnaire'
);
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('codeFonctionnaire','text',array('label'=>'Code fonctionnaire'))
//////
}这个实体怎么了?
发布于 2014-02-21 19:57:11
我从fonctionnaire.orm.yml中删除了这段代码:
generator:
strategy: IDENTITY而且起作用了。
发布于 2014-02-19 15:20:49
您需要重新生成Fonctionnaire类的getter和setter。你的IDE可以帮你做到这一点。或者至少,只需添加一个
public function setCodeFonctionnaire($codeFonctionnaire) {
$this->codeFonctionnaire = $codeFonctionnaire;
}编辑
下面是您完整的Fonctionnaire类:
namespace TechVehi\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
class Fonctionnaire {
/**
* @var string
*
* @ORM\Column(name="codeFonctionnaire", type="string", length=255, nullable=true)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $codeFonctionnaire;
/**
* @param string $codeFonctionnaire
*/
public function setCodeFonctionnaire($codeFonctionnaire) {
$this->codeFonctionnaire = $codeFonctionnaire;
}
/**
* @return string
*/
public function getCodeFonctionnaire() {
return $this->codeFonctionnaire;
}
}您可能已经忘记了其他信息,比如将对象链接到数据库的ORM注释。
https://stackoverflow.com/questions/21876417
复制相似问题