symfony,sonta 用户包,多对多
symfony, sonta user bundle, many to many
我正在做一个小项目,其中我使用 sonata 用户包来轻松管理我的用户。
但是我有另一个名为 order 的实体。在这个实体中与一个用户相关联。
我在哪里写 manyToOne 注释?
谢谢
最好的问候
如果您使用的是 sonata admin,那么您可以使用 EASYEXTENDS BUNDLE
轻松扩展其核心包,它将生成一个子包,例如
php app/console sonata:easy-extends:generate SonataUserBundle -d src Reference
为 SonataUserBundle
扩展包后,您可以在子包的实体或其学说配置文件中指定关系
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Application\Sonata\UserBundle\Entity\User" table="fos_user_user">
<id name="id" column="id" type="integer">
<generator strategy="AUTO" />
</id>
<one-to-many field="orders" target-entity="Order" mapped-by="user" />
</entity>
</doctrine-mapping>
在您的用户实体中
use Doctrine\Common\Collections\ArrayCollection;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
class User extends BaseUser
{
protected $orders;
public function __construct()
{
$this->orders= new ArrayCollection();
}
//.. Getter and setter
}
在您的订单实体中添加映射以指向回用户实体
class Order
{
protected $user;
}
为了原则配置文件定义到用户实体的映射
<many-to-one field="user" target-entity="User" inversed-y="orders" join-column="user_id">
如果您使用注释,您可以从 Docs
中找到等效映射
我正在做一个小项目,其中我使用 sonata 用户包来轻松管理我的用户。
但是我有另一个名为 order 的实体。在这个实体中与一个用户相关联。 我在哪里写 manyToOne 注释?
谢谢 最好的问候
如果您使用的是 sonata admin,那么您可以使用 EASYEXTENDS BUNDLE
轻松扩展其核心包,它将生成一个子包,例如
php app/console sonata:easy-extends:generate SonataUserBundle -d src
Reference
为 SonataUserBundle
扩展包后,您可以在子包的实体或其学说配置文件中指定关系
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Application\Sonata\UserBundle\Entity\User" table="fos_user_user">
<id name="id" column="id" type="integer">
<generator strategy="AUTO" />
</id>
<one-to-many field="orders" target-entity="Order" mapped-by="user" />
</entity>
</doctrine-mapping>
在您的用户实体中
use Doctrine\Common\Collections\ArrayCollection;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
class User extends BaseUser
{
protected $orders;
public function __construct()
{
$this->orders= new ArrayCollection();
}
//.. Getter and setter
}
在您的订单实体中添加映射以指向回用户实体
class Order
{
protected $user;
}
为了原则配置文件定义到用户实体的映射
<many-to-one field="user" target-entity="User" inversed-y="orders" join-column="user_id">
如果您使用注释,您可以从 Docs