Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 141 комментарий

Евгений Дурягин
Евгений Дурягин
Вы имеете ввиду, если в XML-схеме для объекта Calls прописать две связи:

<composite alias=«PrimaryContractor» class=«Contractors» local=«contractor»
foreign=«id» cardinality=«one» owner=«local» />
<composite alias=«Contractors» class=«Contractors» local=«id»
foreign=«call_id» cardinality=«many» owner=«local» />

то при $call->getOne('PrimaryContractor') будет возвращаться нужный объект?
Да, по крайней мере теоретически :)
Илья Уткин
Илья Уткин
Вы имеете ввиду, если в XML-схеме для объекта Calls прописать две связи:
<composite alias="PrimaryContractor" class="Contractors" local="contractor"
  foreign="id" cardinality="one" owner="local" />
<composite alias="Contractors" class="Contractors" local="id"
  foreign="call_id" cardinality="many" owner="local" />
то при $call->getOne('PrimaryContractor') будет возвращаться нужный объект?

А насчет composite и aggrеgate — мне кажется, что правильно прописал: обращение — это основной объект, который просто объединяет всех контрагентов. То есть можно сказать, что обращение — это такой абстрактный клиент, внутри которого может быть несколько клиентов. И действительно, каждый контрагент связан только с одним обращением. И при удалении обращения нужно удалять и его контрагентов, а при удалении контрагента обращение должно остаться (в нем могут быть другие контрагенты).

Только вот думаю, что буду делать при удалении основного контрагента… Надо будет продумать этот момент и при удалении основного делать основным какой-нибудь из оставшихся контрагентов, а если не осталось, то удалять и обращение.
Евгений Дурягин
Евгений Дурягин
Ну можно прописать связи как Contractor (или даже PrimaryContrator) и Contractors
$call->getOne('PrimaryContractor');
$call->getMany('Contractors');
А вы уверены что composite и aggrеgate правильно прописали? У контрагента может быть несколько обращений или в каждом обращении контрагенты уникальны?
В вашей схеме при удалениии обращения удаляются и все связанные контрагенты.
А при удалении контрагента его обращения не удаляются, что может привести к нарушению целостности данных.
СикретНаме
СикретНаме
П.С.
Только что, возможно, справился с «nginx: [warn] duplicate MIME type „text/html“ in /etc/nginx/nginx.conf:18»

Оказывается, gzip_types по-умолчанию gzip-ит text/html по MIME-типу, а в /etc/nginx/mime.types он уже описан и потому выскакивает алерт о дублировании. Нужно или удалить text/html из списка gzip_types файла nginx.conf или не добавлять при формировании файла или игнорить алерт.
СикретНаме
СикретНаме
Ну, вот, надеюсь, «пробил час», когда я могу внести свою малюсенькую лепту. Выслал Вам файл, где добавлено нужное и убрано лишнее, соблюдена последовательность действий, а так же менее неоднозначно описаны некоторые действия по настройке хостинга и установке MODX Вашим автоскриптом. Всё вышесказанное более-менее гарантированно верно при использовании Линоды (Ubuntu 12.04 LTS) и Вашего скрипта автоустановки MODX.

П.С.
Надеюсь, я нигде не ошибся в файле, ну и, что он пригодится.
СикретНаме
СикретНаме
Василий, наткнулся на такую интересность, как apt-get install arno-iptables-firewall, а так же на apt-get install iptables=есть некий установочный пакет, и у нас он не применяется, раз мы файл iptables создавали (touch). Стоит/не стоит итд, как думаете?