Непонятное поведение объектов (не удаляются, не сохраняются)

Добрый день!

Второй раз встречаюсь с непонятным поведением объектов у которых первичным ключом является сочетание нескольких полей. Первый раз такое было с объектом TicketView из Tickets. Сейчас, вот, проблемы с объектом msdSaleMember из msDiscount.

Вот такой сниппет вызываю некешированным на странице:
<?php
$msDiscount = $modx->getService('msDiscount');
$groups = $modx->getCollection('msdSaleMember');
print "<pre>";
foreach ($groups as $group) {
    print_r($group->toArray());
    $group->set('group_id',5);
    $group->save();
    $group->remove();
}
print "</pre>";

По идее после первого обращения к странице все объекты msdSaleMember должны быть удалены из базы, но этого не происходит (как и не сохраняются изменения объекта).

Еще одной проблемой (не знаю, связанной ли с предыдущим багом) является отсутствие id группы в выборке групп ресурсов:

Если кто-нибудь сталкивался с таким, подскажите, почему так происходит и как с этим бороться?
Илья Уткин
12 марта 2014, 11:09
modx.pro
967
0

Комментарии: 3

Василий Наумкин
12 марта 2014, 15:42
0
modx.pro/development/1177/

В схеме компонента вроде все прописано. Если не разберешься — пиши в багтрекер.
    Василий Наумкин
    12 марта 2014, 15:53
    0
    Еще одной проблемой (не знаю, связанной ли с предыдущим багом) является отсутствие id группы в выборке групп ресурсов
    Группу нужно изменить на соседней вкладочке сначала — тогда она свяжется с группой MODX и проставится id.
      Илья Уткин
      12 марта 2014, 16:03
      0
      Вроде, нашел проблемное место по второму вопросу.

      В файле core/components/msdiscount/processors/mgr/sales/members/getcombo.class.php
      поменял местами строчки 47 и 48. $this->linkedKey не существует, а в выборке поле id берется именно из него, так как его селект ниже. Такое может быть или я уже свихнулся?)))
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        3