私は2つのエンティティ、MatchとTeamを持っています。問題はマッピングされています(私は推測されます)、私はこの問題を解決する人を探していません。私はドキュメンテーションをどこで調べるべきかのヒントを教えてください。何らかの理由で私はこれに固執して解決策を見つけることができません..私は私の2つのエンティティのコードを提供します。私は試合を照会するとき Match.phpSQLSTATE [42000]を解決する方法:構文エラーまたはアクセス違反:1064
/**
* @var
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Team", inversedBy="matchOne")
* @ORM\JoinColumn(name="team_one_id", referencedColumnName="id")
*/
protected $teamOne;
/**
* @var
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Team", inversedBy="matchTwo")
* @ORM\JoinColumn(name="team_two_id", referencedColumnName="id")
*/
protected $teamTwo;
Team.php
/**
* @var
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Match", mappedBy="teamOne")
*/
protected $matchOne;
/**
* @var
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Match", mappedBy="teamTwo")
*/
protected $matchTwo;
問題は、私のフォームタイプであり、ここでのコード
->add('match', EntityType::class, [
'class' => 'AppBundle:Match',
'choice_label' => 'getMatch',
])
そしてgetMatch機能
の一部です。public function getMatch() {
return $this->getTeamOne()->getName() . ' - ' . $this->getTeamTwo()->getName();
}
フォームタイプは新しい賭けを作成するためのものですが、明らかに私はマッチ(チーム名、例:チェルシー - リバプール)をドロップダウンで表示し、その賭けエンティティのIDを賭けエンティティに書きます。