medveddev / bxorm

24 stars 10 forks source link

PropertyEnumerationTable XML_ID #39

Open ave404 opened 2 years ago

ave404 commented 2 years ago

Через PropertyEnumerationTable::createObject() и PropertyEnumerationTable::add() нельзя добавить для разных свойств два одинаковых значения

Ошибка в описании сущности. А именно в наличии валидатор Unique поля _XMLID. Уникальные они должны быть в рамках одного _PROPERTYID, а не всей таблицы

public static function validateXmlId()
{
    return array(
        new Entity\Validator\Unique(),
        new Entity\Validator\Length(null, 200),
    );
}

Как проверить? Для свойства A добавить значение с XML_ID = common - отработало корректно. Для свойства B добавить значение с XML_ID = common - ошибка:

Запись со значением "Внешний код", равным "common", уже есть в базе данных