fbid と game_id の両方の組み合わせを一意にしたい。form->isValid() メソッドでテストしたい。しかし、隠し入力でこの値を渡したくありません。
私のエンティティコード:
/**
* @ORM\Entity
* @ORM\Table(name="Member",
* uniqueConstraints={
* @ORM\UniqueConstraint(columns={"fbid", "game_id"})
* })
* @UniqueEntity(fields={"fbid","game"})
*/
class Member
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Game", inversedBy="members")
* @ORM\JoinColumn(name="game_id", referencedColumnName="id")
*/
protected $game;
/**
* @ORM\Column(type="string")
*/
private $fbid;
私は試します:
if ($request->getMethod() == 'POST') {
$form->bind($request);
$member = $form->getData();
$member->setGame( $this->game );
$form->setData($member);
if ($form->isValid()) {
しかし、私はこの問題を抱えています:
バインドされたフォームのデータは変更できません