Kohana Синхронизация many to many

AmdY

Пью пиво
Команда форума
Имеется связь many to many, нужно добавлять и синхронизировать данные по связи.
В доке нашёл только has, add, remove, хочется же метод sync, которому передал список объектов и он добавил связь на новые, удалил связи на отсутствующие.

и желательно доку на модели, а то это пшик какой-то http://kohanaframework.org/3.2/guide/orm
 
Последнее редактирование:

Здыхлик

Kohaner
Команда форума
Либо вручную remove() + add(), либо выбрать все связанные объекты и проверять, как они изменились. Готового решения нет (по крайней мере, официального, да и сниппетов я лично не видел пока).
 

AmdY

Пью пиво
Команда форума
Здыхлик
так и сделал. обидно, что это пара строчек, которая как бы должна быть уже во фреймворке.

в общем, кохана вполно нормальный фреймворк для разработки, но в начале нужно поработать напильником и расширить стандартные объекты.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Здыхлик
так и сделал. обидно, что это пара строчек, которая как бы должна быть уже во фреймворке.

в общем, кохана вполно нормальный фреймворк для разработки, но в начале нужно поработать напильником и расширить стандартные объекты.
поэтому то он и называется - фреймворк ;)
 

Здыхлик

Kohaner
Команда форума
Здыхлик
так и сделал. обидно, что это пара строчек, которая как бы должна быть уже во фреймворке.

в общем, кохана вполно нормальный фреймворк для разработки, но в начале нужно поработать напильником и расширить стандартные объекты.
Кстати, такой допил вполне можно предложить в pull request. Если даже код не примут, то хоть саму идею
 

MiksIr

miksir@home:~$
Хотя бы потому, что это можно сделать разными способами, зависящими от ситуации, коробочное решение не оч хорошо. Дропнуть все и добавить новое - может и быстро и просто, но если внешние ключи? А сравнивать - с состоянием модели и делать delete/insert - потенциально race condition. Делать insert с игнорированием уникального ключа если в транзакции, то каждый сейвпоинтом обрамлять нужно.
 
Сверху