То, что я сделал, довольно безобразно. Это работает, но есть ли какой-нибудь «элегантный» способ сделать это в Symfony? Сам не смог найти что-то полезное в документации. Что я сделал:
Код: Выделить всё
/**
* @var PersistentCollection $currentCategories
*/
$currentCategories = $product->getCategories();
/**
* @var array $requestCategories
*/
$requestCategories = $request->getCategories();
foreach ($currentCategories as $category) {
$oldCategoryIds[] = $category->getId();
}
$forRemove = array_diff($oldCategoryIds, $requestCategories);
$forSave = array_diff($requestCategories, $oldCategoryIds);
Источник: https://stackoverflow.com/questions/720 ... collection
Мобильная версия