Shopware 6 Administration:新实体中属性id的值来自哪里?



在创建新实体this.myEntityRepository.create()之后,调用this.myEntity.id返回创建的id。

这个id来自哪里?在新建实体中不存在这样的属性:

{
"extensions": {},
"_isNew": true
}

我知道,id是在entity-factory.data.js中创建的?

create(entityName, id, context) {
id = id || utils.createId();
...

如何使用this.myEntity.id访问属性值?

原因应该在Entity.jsidObject.defineProperty的定义属性enumerable中:

// ~/src/Administration/Resources/app/administration/node_modules/@shopware-ag/admin-extension-sdk/es/data/_internals/Entity.js
class EntityClass {
constructor(id, entityName, data, options = {}) {
var _a, _b;
Object.defineProperty(this, "id", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
...

显示行为

相关内容

  • 没有找到相关文章

最新更新