首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sylius覆盖ShopUser模型

Sylius覆盖ShopUser模型
EN

Stack Overflow用户
提问于 2016-11-26 21:01:03
回答 1查看 652关注 0票数 0

我想重写shop_user模型的SyliusCoreBundle,我遵循了使用说明,但有两个问题。

  1. 在原则配置文件中,当我使用"sylius_shop_user“作为表名时,它表示该表已经存在。The table with name 'sylius_dev.sylius_shop_user' already exists.
  2. 当我想重写shop_user模型的类时,我得到以下错误:Unrecognized option "shop_user" under "sylius_core.resources"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 09:17:41

这是我对1.0.0-字母1 :)的配置

代码语言:javascript
复制
sylius_user:
    resources:
        shop:
            user:
                classes:
                    model: AppBundle\Entity\ShopUser
                    repository: AppBundle\Entity\Repository\ShopUserRepository
                    form:
                        default: AppBundle\Form\Type\Api\UserType

sylius_resource:
    resources:
        app.shop_user:
            classes:
                model: AppBundle\Entity\ShopUser
                repository: AppBundle\Entity\Repository\ShopUserRepository
                controller: AppBundle\Controller\Api\UserController

sylius_api:
    resources:
        api_user:
            classes:
                model: "%sylius.model.shop_user.class%"

doctrine:
    orm:
        resolve_target_entities:
            AppBundle\Entity\ShopUserInterface: AppBundle\Entity\ShopUser

ShopUser.php

代码语言:javascript
复制
namespace AppBundle\Entity;

use Sylius\Component\Core\Model\ShopUser as BaseShopUser;

class ShopUser extends BaseShopUser implements ShopUserInterface {...}

ShopUserInterface.php

代码语言:javascript
复制
namespace AppBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Sylius\Component\Core\Model\ShopUserInterface as BaseShopUserInterface;

interface ShopUserInterface extends BaseShopUserInterface {...}

ShopUserRepository.php

代码语言:javascript
复制
namespace AppBundle\Entity\Repository;

use Sylius\Bundle\CoreBundle\Doctrine\ORM\UserRepository as BaseUserRepository;

class ShopUserRepository extends BaseUserRepository implements ShopUserRepositoryInterface {...}

ShopUserRepositoryInterface.php

代码语言:javascript
复制
namespace AppBundle\Entity\Repository;

use Sylius\Component\User\Repository\UserRepositoryInterface;

interface ShopUserRepositoryInterface extends UserRepositoryInterface {...}

/src/AppBundle/Resources/config/doctrine/ShopUser.orm.xml

代码语言:javascript
复制
<?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="AppBundle\Entity\ShopUser" table="sylius_shop_user" repository-class="AppBundle\Entity\Repository\ShopUserRepository">
        ...
    </entity>

</doctrine-mapping>

src/AppBundle/Resources/config/serializer/Entity.ShopUser.yml

代码语言:javascript
复制
AppBundle\Entity\ShopUser:
    exclusion_policy: ALL
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40823104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档