我希望 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()) {
但我有这个问题:
您不能更改绑定表单的数据