如何理解doctrine2里面的mappedby和inversedby???
php
/** @Entity */
class Customer
{
// ...
/** * @OneToOne(targetEntity="Cart", mappedBy="customer") */ private $cart; // ...
}
/** @Entity */
class Cart
{
// ...
/** * @OneToOne(targetEntity="Customer", inversedBy="cart") * @JoinColumn(name="customer_id", referencedColumnName="id") */ private $customer; // ...
}
回复内容:
如何理解doctrine2里面的mappedby和inversedby???
/** @Entity */
class Customer
{
// ...
/** * @OneToOne(targetEntity="Cart", mappedBy="customer") */ private $cart; // ...
}
/** @Entity */
class Cart
{
// ...
/** * @OneToOne(targetEntity="Customer", inversedBy="cart") * @JoinColumn(name="customer_id", referencedColumnName="id") */ private $customer; // ...
}
Doctrine是ORM;
ORM支持改变关联关系,如将小组的管理员由A变为B;
我们可以定义谁“拥有”这个关联关系,使关联就有了“方向”;
从而方便了逻辑和编码,即ORM只用检查“拥有”关联关系的对象上关联的变化(如小组的管理员现在是A还是B?)。
有inversedBy的,是“拥有”关联关系的一侧。
第一步】:将安装包中所有的文件夹和文件用ftp工具以二进制方式上传至服务器空间;(如果您不知如何设置ftp工具的二进制方式,可以查看:(http://www.shopex.cn/support/qa/setup.help.717.html)【第二步】:在浏览器中输入 http://您的商店域名/install 进行安装界面进行安装即可。【第二步】:登录后台,工具箱里恢复数据管理后台是url/sho
你贴出的代码中,
Customer与Cart之间的“谁的购物车”的关联关系,是由Cart拥有;在Customer对象上,改变其cart变量,通过Doctrine保存,并不会导致购物车易主。
以上,都是指不写额外代码,靠Doctrine自动识别的情形。
Customer 和 Cart 關聯起來
兩邊都可以簡單地調用對方
/** * 從Customer中取得Cart的資料 * * @var Cart $cart */ $cart = $customer->getCart(); /** * 從Cart中取得Customer的資料 * * @var Customer $customer */ $customer = $cart->getCustomer();









