私は次のエンティティを持っています:
- ユーザー
- 住所
- 国
私のユーザーは Address と Address to Country に接続します。私は魔法の __setter と __getter を持っています。使用すると$addresses = $user->__get('addresses');
、アドレスが取得されます。
ごみ:
array(1) {
[0]=>
object(stdClass)#463 (13) {
["__CLASS__"]=>
string(19) "User\Entity\Address"
["inputFilter"]=>
NULL
["addressid"]=>
int(21)
["street"]=>
string(9) "Lange heg"
["number"]=>
int(19)
["addition"]=>
string(1) "a"
["zipcode"]=>
string(6) "7039CA"
["user"]=>
string(16) "User\Entity\User"
["country"]=>
string(50) "DoctrineORMModule\Proxy\__CG__\User\Entity\Country"
["creator_id"]=>
int(9)
["creation_date"]=>
string(8) "DateTime"
["last_modifier_id"]=>
NULL
["last_modified_date"]=>
NULL
}
}
私の国だけが(国のエンティティから)正しいオブジェクトを取得しません。私の協会:
ユーザーエンティティ:
/**
* Id from user
*
* @ORM\OneToMany(targetEntity="User\Entity\Address", mappedBy="user")
* @var Address
* @access protected
*/
protected $addresses;
アドレス実体:
/**
* @ORM\ManyToOne(targetEntity="User\Entity\User", inversedBy="addresses")
* @ORM\JoinColumn(name="user_id", referencedColumnName="user_id", nullable=false, onDelete="cascade")
* @var User[]
* @access protected
*/
protected $user;
/**
* @ORM\ManyToOne(targetEntity="User\Entity\Country", inversedBy="id")
* @ORM\JoinColumn(name="country_id", referencedColumnName="id", nullable=false)
* @var Country[]
* @access protected
*/
protected $country;
国エンティティ:
/**
* Id from a country
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="User\Entity\Address", mappedBy="country")
* @var int
* @access protected
*/
protected $id;
私の住所エンティティでは、データベースに user_id と country_id を保存します。ユーザーから自分の国を取得するにはどうすればよいですか? プロキシを返さずに?