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

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

С нами с 07 июня 2013; Место в рейтинге пользователей: #1249
Евгений Залесский
12 февраля 2015, 19:53
0
Все, спасибо, обновился, теперь все отлично!
Евгений Залесский
12 февраля 2015, 13:13
0
И еще один момент: owner бывает «foreign» и «local».
У тебя при композиционной связи генерируется owner=owner, из-за этого не работает addMany().
Эту штуку тоже подправить надо
Евгений Залесский
12 февраля 2015, 12:34
0
Я попробовал все возможные варианты, от всех кружков ко всем кружкам, никак не получается рабочий вариант.

Вот для примера натыкал всевозможных связей:



Евгений Залесский
12 февраля 2015, 06:17
0
Компонент крут, спасибо!
Правда, кажется, в нем есть ошибка, поправьте, если что-то не так делаю, или что-то не понял.

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

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



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





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



Вроде бы, напутано с «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.

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