0
以下の1対多の教義の関連付けを実装しようとしていますが、すべての顧客(主キー:id
)が訪問しているため、問題が発生しています。 (主キー:customer_id
& visitday
)は、(I)はDateTimeオブジェクトは、主キーにすることはできませんので、(データベースに永続化する前に、2000年1月1日からの日数としてvisitday導出しています)訪問テーブルでキャプチャ:Doctrineの1対多の関連付け:複合プライマリキーの問題
エンティティ
class Customer
{
/**
* @ORM\Column(type="integer", options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="Visit", mappedBy="visitday")
*/
protected $visits;
public function __construct()
{
$this->visits = new ArrayCollection();
}
/* -- */
}
Class Visit
{
/**
* @ORM\Column(name="customer_id", type="integer", options={"unsigned"=true})
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id")
* @ORM\Id
*/
private $customer;
/**
* @ORM\Column(type="smallint")
* @ORM\ManyToOne(targetEntity="Customer", inversedBy="visits")
* @ORM\JoinColumn(name="visitday", referencedColumnName="id")
* @ORM\Id
*/
protected $visitday;
/* -- */
}
私の問題は、私の顧客のオブジェクトに、顧客の対応する訪問が設定されていないということです。これは、ドクトリンがルックアップに独自の顧客IDを含める必要があることを認識できないためです。これを修正する方法はありますか?
Thanks @ Mike-Kor - 「$ visitday」は必要なもののカテゴリ変数です。 顧客は、その顧客の訪問のみの '$ visitday'整数の配列で' visits'を設定できますか? – Bendy
@Bendy、遅く応答して申し訳ありません。顧客訪問日にアクセスできる訪問エンティティの配列を表すCustomerエンティティに$ visits変数がすでにあります。 –