gpt4 book ai didi

sonata-admin - 如何在 sonataAdmin 的 configureListfield 中添加 ManyToOne 属性字段

转载 作者:行者123 更新时间:2023-12-02 05:37:02 26 4
gpt4 key购买 nike

我有一个 Fonctionnaire 实体类,其中包含 ManyToOne 属性以对实体类进行评分。当我想将 idGrade 字段添加到 FonctionnaireAdmin 的 ConfigureListField 时(使用 SonataAdmin)我收到了这个错误:

在呈现模板期间抛出异常(“您必须定义一个 associated_property 选项或创建一个 Proxies\__CG__\Examens\ExamensBundle\Entity\Grade::__toString 服务 examens.examens.admin.fonctionnaire 中字段选项 idGrade 的方法是 ") 在 SonataDoctrineORMAdminBundle:CRUD:list_orm_many_to_one.html.twig 第 19 行。

Fontionnaire.php 类:

<?php

namespace Examens\ExamensBundle\Entity;


use Doctrine\ORM\Mapping as ORM;

/**
* Fonctionnaire
*/
class Fonctionnaire
{
//...//

/**
* @var \Examens\ExamensBundle\Entity\Grade
*/
private $idGrade;
//...//
}

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('nomAr','text',array('label'=>'Nom arabe'))
->add('prenomAr','text',array('label'=>'Prénom arabe'))
->add('nomFr','text',array('label'=>'Nom français '))
->add('prenomFr','text',array('label'=>'Prénom français'))
->add('nomUtilisateur','text',array('label'=>'nom Utilisateur'))
->add('motDePasse','text',array('label'=>'motDePasse'))
->add('idGrade','entity',
array('class' => 'Examens\ExamensBundle\Entity\Grade',
'property' => 'libGradeAr'))
->add('dateNominationGrade','date',
array('years' => range(1980, date('Y'))))

;
}

protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('nomAr')
->add('prenomAr')
->add('nomFr')
->add('prenomFr')
->add('nomUtilisateur')
->add('motDePasse')
->add('idGrade')
->add('dateNominationGrade')


;
}

}

最佳答案

你可以添加:

->add('idGrade', null, array('associated_property' => 'libGradeAr'))

关于sonata-admin - 如何在 sonataAdmin 的 configureListfield 中添加 ManyToOne 属性字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21824960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com