私は Symfony2.0 と Doctrine を使用しており、次のエンティティを作成しました。
class MetaInformationsQuestionUser
{
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Myproject\Bundle\UserBundle\Entity\User")
*/
private $user;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Myproject\Bundle\QuestionsBundle\Entity\MetaInformationsQuestion")
*/
private $metainformationsquestion;
/**
* @var datetime $created
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
*/
private $created;
/**
* @var datetime $updated
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime")
*/
private $updated;
/**
* @var array $score
*
* @ORM\Column(name="score", type="array", nullable="true")
*/
private $score;
したがって、このエンティティは、属性との多対多の関係へのリンクです。(この場合、スコアと作成日と更新日)。
私のアイデアは、各ユーザーがプレイしたすべての質問の記録を、獲得したスコアとともに追加することです。
私の問題は、次のエラーが発生することです。
SQLSTATE[23000]: 整合性制約違反: 1062 キー 'PRIMARY' のエントリ '1-3' が重複しています
だから私の質問は次のとおりです。たとえば、作成日を主キーに追加したり、これに主キーを持つという事実を削除したりするにはどうすればよいですか?