EasyAdmin конвертировать значение

#php #symfony #entity #easyadmin

#php #symfony #сущность #easyadmin

Вопрос:

Для работы мне нужно прочитать Symfony 5: ускоренный путь. Но в главе 9 у меня возникли некоторые проблемы. У меня есть две сущности Conference и Comment. Объект комментария связан с идентификатором конференции. Комментарий:

 /**
 * @ORMManyToOne(targetEntity=Conference::class, inversedBy="comments")
 * @ORMJoinColumn(nullable=false)
 */
private $conference;

public function setCreatedAt(DateTimeInterface $createdAt): self
{
    $this->createdAt = $createdAt;

    return $this;
}

public function getConference(): ?Conference
{
    return $this->conference;
}
  

Мой EasyAdminController выглядит следующим образом:

 public function configureMenuItems(): iterable
{
    return [
        MenuItem::linkToCrud('Conference', '', Conference::class),
        MenuItem::linkToCrud('Comment', '', Comment::class)>setController(CommentCrudController::class),
    ];
}
  

И CommentCrudController считает, что:

 public function configureFields(string $pageName): iterable
    {
        return [
            TextField::new('author'),
            TextEditorField::new('text'),
            TextField::new('email'),
            DateTimeField::new('createdAt'),
            IdField::new('conference')->formatValue(function ($value) {
                dd($value);
            }),
            TextField::new('photoFilename'),
        ];
    }
  

Итак, сначала моя проблема в том, что мне нужны значения как объект конференции. Поскольку я не знаю, как это сделать правильно, я попытался использовать formatValue, но dd($value) никогда не выполняется. Может ли кто-нибудь помочь мне с этой проблемой или связать меня где-нибудь, где я могу найти ответ.

Спасибо за преимущество.

Комментарии:

1. Я думаю, вы ошибаетесь IdField с AssociationField .

2. Спасибо, это было именно то, что мне было нужно 🙂