我有以下表格:如何映射兩個實體的第三個實體的ID?
user: id, name, credit_card_id
credit_card: id, value
balance: id, value, credit_card_id
應該如何看起來像學說映射從User
實體獲取與用戶的CreditCard
所有Balance
實體?
我試圖與OneToMany
關係,但沒有運氣:
class User {
/**
* @var integer
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="name", type="string", length=255, nullable=true)
*/
protected $name;
/**
* @var CreditCard
* @ORM\OneToOne(targetEntity="CreditCard", inversedBy="user")
* @ORM\JoinColumn(name="credit_card_id", referencedColumnName="id")
*/
protected $creditCard;
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="Balance", mappedBy="user")
*/
protected $balances;
}
class Balance {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var float
*
* @ORM\Column(name="value", type="float")
*/
protected $value;
/**
* @var CreditCard
*
* @ORM\ManyToOne(targetEntity="CreditCard")
* @ORM\JoinColumn(name="credit_card_id", referencedColumnName="id")
*/
protected $creditCard;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="User", inversedBy="balances")
*/
protected $user;
}
class CreditCard
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="value", type="string")
*/
protected $value;
/**
* @var User
*
* @ORM\OneToOne(targetEntity="User", mappedBy="creditCard")
*/
protected $user;
}
你的意思是你想有像 用戶 - >卡 - >平衡 吧? –