у меня есть Book
сущность с Author
отношения:
/**
* Book
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="App\BookBundle\Entity\BookRepository")
*/
class Book {
/**
* @var integer
*
* @ORM\Column(name="author_id", type="integer")
*
*/
private $authorId;
/**
*
* @ORM\ManyToOne(targetEntity="Author", inversedBy="books")
* @ORM\JoinColumn(name="author_id", referencedColumnName="id")
*/
private $author;
//the rest of entity...
}
/**
* Author
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="App\BookBundle\Entity\AuthorRepository")
*/
class Author {
/**
* @ORM\OneToMany(targetEntity="Book", mappedBy="author")
*/
private $books;
//the rest of entity...
}
И у меня есть форма BookType
содержащий author_id
поле.
class BookType extends AbstractType {
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('authorId', 'hidden', array(
))
//the rest of the form...
author_id
ввод скрыт, а его значение заполнено функцией автозаполнения на стороне клиента.
Теперь мне нужно проверить его на стороне сервера при отправке формы.
Как проверить этого автора для данного author_id
существует? Я не могу поверить, что в Symfony / Doctrine нет встроенного решения для этого.
Задача ещё не решена.
Других решений пока нет …