从验证:检查数据库中是否存在给定外键(id)值的相关实体

时间:2014-09-28 09:47:56

标签: php validation symfony doctrine-orm symfony-2.5

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

0 个答案:

没有答案