по primary, но и по другому полю (в примере USER_ID)?
DELETE FROM ... WHERE ID = 1 AND USER_ID = 1
можно, если у вас и ID и USER_ID в primary
Нет, нужен именно where по двум полям
Не понимаю, where по двум полям будет, если вы в описании таблицы укажете два поля primary
А-а-а. Все равно кажется, что костыль. А как это на поведении ОРМ отразится, если в БД primary будет только по ID?
Возможно лучше чистым sql сделать. Но тогда, видимо, нужно предусмотреть сброс кеша, как минимум
А можно как-то во время исполнения установить primary для поля \Bitrix\Main\ORM\Data\DataManager::getMap, а затем убрать? Только через статическое свойство? Нужно чтобы сделать DELETE по условию.
удалить по условию sql-запрос в query()
Мне нужно построить такой sql при этом запустить все сопутствующие события, а также почистить коллекцию объектов (identity map). Так как это делает Битрикс
но опять же, лучше пользоваться с осторожностью. я не особенно понимаю, если вы из b_crm_deal решите удалять сделки, к чему это приведет. это надо спрашивать у более опытных коллег.
По типу как здесь посоветовали
Обсуждают сегодня