У меня есть простая форма в Symfony2 (бета 5), но данные поста никогда не привязываются к форме. Вот мои занятия (для краткости обрезаны):
/**
* Represents a User
*
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", unique="true", length="150")
* @Assert\Email()
*/
protected $email;
/**
* @param string $email
*/
public function setEmail($email)
{
$this->email = $email;
}
/**
* @return string $email
*/
public function getEmail()
{
return $this->email;
}
}
Форма строителя:
class UserType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('email');
}
}
Акция:
public function addAction()
{
$request = $this->getRequest();
if ($request->getMethod() == 'POST')
{
$user = new User();
$form = $this->createForm(new UserType(), $user);
$form->bindRequest($request);
print_r($_POST); // fine - contains an email address
echo 'email: ';
print_r($user->getEmail()); // always empty
if ($form->isValid()) // never valid
{
// ....
Почтовые данные:
array([email] => 'test@test.com')
Что не так с моей настройкой? Это вторая форма, которую я сделал с другой моделью, поэтому я явно что-то делаю не так.
Возможно ли, что я отправляю 'email' в качестве ключа вместо чего-то более сложного, например 'user_email'? Я не предоставил форму - я просто отправляю данные постов вручную, потому что это для веб-службы.
Спасибо