在這裏我在爲我的研究項目,我使用symfony fosUser和奏鳴曲,我有一個圖書實體,我與奏鳴曲管理。只顯示用戶在FormFields奏鳴曲中的特定角色
問題是我想給用戶一本書,但是當我想在我的字段用戶中找到只有角色爲ROLE_MyRole的用戶時,我在論壇上搜索了幾個小時而沒有找到,這變得很複雜。
我對我的無能感到抱歉我最近學習了symfony,還沒有足夠的經驗。
這是我BookAdmin
class BookAdmin extends Admin
{
// Fields to be shown on create/edit forms
protected function configureFormFields(FormMapper $formMapper)
{
static $options = array();
$currentBook = $this->getSubject();
if (null !== $currentBook->getFileName())
$options = array(
'required' => false,
'help' => 'getWebPath().'">Download File : '.$currentBook->getFileName().'',
);
$formMapper
->add('title', null, array('label' => 'Titre : '))
->add('summary', null, array('label' => 'Résumé : '))
->add('category', null, array('label' => 'Catégorie : '))
->add('readers', null, array('label' => 'Lecteur(s) : '))
->add('file', 'file', $options)
;
}
這是與讀者現場的My Book實體
class Book
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
protected $title;
/**
* @var string
*
* @ORM\Column(name="summary", type="text")
*/
protected $summary;
/**
* @Assert\File(
* mimeTypes={"application/pdf", "application/x-pdf"},
* mimeTypesMessage="Only PDF"
*)
*/
protected $file;
/**
* @var string
*
* @ORM\Column(name="file_path", type="string", length=255)
*/
protected $fileName;
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="created_at", type="datetime")
*/
protected $createdAt;
/**
* @var \DateTime
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(name="updated_at", type="datetime")
*/
protected $updatedAt;
/**
* @var bool
*
* @ORM\Column(name="enabled", type="boolean", nullable=true)
*/
protected $enabled;
/**
* @var bool
*
* @ORM\Column(name="received_by_reader", type="boolean", nullable=true)
*/
protected $receivedByReader;
/**
* @var bool
*
* @ORM\Column(name="download_by_reader", type="boolean", nullable=true)
*/
protected $downloadByReader;
/**
* @var bool
*
* @ORM\Column(name="send_by_reader", type="boolean", nullable=true)
*/
protected $sendByReader;
/**
* @var bool
*
* @ORM\Column(name="reader_validation", type="boolean", nullable=true)
*/
protected $readerValidation;
/**
* @var bool
*
* @ORM\Column(name="edited", type="boolean", nullable=true)
*/
protected $edited;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="Application\Sonata\UserBundle\Entity\User")
*/
protected $author;
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Application\Sonata\UserBundle\Entity\User", cascade={"persist"})
*/
protected $readers;
感謝您
它不工作,我有此錯誤信息: 選項「代碼」不存在。 – Ajirass
噢,是的,對不起,你需要做: - > add('readers','choice',array( 'label'=>'Lecteur:', 'choices'=> $ currentBook-> getReadersWithMyRole ())) –