28 октября 2011 г. 13:21 пользователь Ivan Petrov <[email protected]>написал:
> > > Вообще неплохо бы научиться понимать, что, с чем и как связано. В случае > > пользователь-задача нужно чётко осознавать, что пользователь суть > свойство > > задачи, а не наоборот. > > нет. одна задача назначается сразу нескольким пользователям. > > соответственно не пользователь - свойство задачи, а пользователИ > > это если говорить о первом примере > > если говорить о втором примере, то замените task на user_card. хотя > бизнес изредка подкидывает и такие абстракции, как задача - свойство > пользователя. > > мы говорили о проблеме отслеживания связей двух объектов > > user->user_card->delete > > поскольку user_card (или task во втором примере) выбирается по > указателю внутри user, то удаление user_card (или task во втором > примере) должно менять user > > в БД это решается FOREIGN'ами. в DBIC это не решается > В БД это решается промежуточной таблицей, для которой в ORM делается отдельный враппер. А умный программист ещё и перезназвачает акссессор для is_changed, чтобы тот смотрел в промежуточную таблицу. Кстати, FK прекрасно работают в ORM, даже если они не определены в описании таблиц. -- Andrei Protasovitski < andrei[dot]protasovitski[at]gmail[dot]com > Diemen, Netherlands
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
