Symfony2のフォームフレームワークでは、EntityとForm定義を結びつけることができます。
その方法は、http://symfony.com/doc/current/book/forms.htmlとかを見てもらえば分かるのですが、
AbstractTypeを継承したクラスで
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Acme\TaskBundle\Entity\Category',
);
}
とするか、
formインスタンスを作成する時に、
use Acme\TaskBundle\Form\Type\TaskType;
public function newAction()
{
$task = new Task(); // Task Entityのインスタンスを作成
$form = $this->createForm(new TaskType(), $task); // それを第二引数でわたす
// ...
}
とするかです。
このようにすると、Entityにデータをbindすることができるのですが、Entiryに存在しないフィールド名をフォームに定義してしまうと、エラーが出る。
例えば、TaskEntiryに...