我有一个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 中没有内置的解决方案。