在创建新实体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.js
类id
的Object.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
});
...
显示行为