Евгений Залесский

Евгений Залесский

Был в сети 04 марта 2026, 13:10
Заказы не принимаю
Компонент крут, спасибо!
Правда, кажется, в нем есть ошибка, поправьте, если что-то не так делаю, или что-то не понял.

Опишу проблему и порядок действий.

Есть две таблицы:



Таблица с заказами является главной по отношению к покупкам в заказе. При удалении заказа должны удаляться связанные покупки.





В результате получается такая схема:



Вроде бы, напутано с «cardinality».
Должно быть наоборот: composite — «many», aggregate — «one».

В общем после генерации схемы вот такой код выдавал fatal error:
//получаем объект заказа
$order = $modx->getObject('GarderobOrders', array('id' => 7 ));
//получаем связанные объекты покупок, тут и вылезает ошибка
$purchases = $order->getMany('GarderobPurchases');

//Выводим
foreach ($purchases as $purchase){
        print_r($purchase->toArray());
    }

Если руками поправить значения «cardinality» в файлах garderoborders.map.inc.php и garderobpurchases.map.inc.php, то все отрабатывает корректно, без ошибок. Выводятся покупки из заказа с id=7.

Собственно вопрос: это я туплю и что-то не так делаю или в компоненте действительно ошибка?)