У меня есть две таблицы, содержимое и изображения (и таблица ContentImages для отношения один ко многим, так что на самом деле это 3 таблицы).
Следующий код сохраняет отношение (в действии> updateContentFromRequest ()):
$ids = $this->getRequestParameter('contentImages');
if( isset($ids) ){
$ImagesTable = Doctrine::getTable('Content')->getRelation('Images')->getTable();
$associationName = Doctrine::getTable('Content')->getRelation('Images')->getAssociationTable()->getOption('name');
$this->content->$associationName->delete();
foreach ($ids as $id){
$id = explode('/', $id);
$this->content->get('Images')->add($ImagesTable->find($id));
}}
Я изменил модель, чтобы включить поле сортировки в таблицу ContentImages:
content_id
image_id
sort (numeric)
Номер сортировки - это просто число (0,1,2,3 и т. Д.)
$sort = $this->getRequestParameter('contentImagesSort');
Как сохранить номер сортировки? Я не хочу добавлять поле сортировки в таблицу изображений, потому что это может создать трудности при повторном использовании изображений для большего количества элементов контента. Когда элемент контента новый, я еще не знаю идентификатор, поэтому я немного озадачен ...