OVK2015, блин, точно. Я так и знал что ошибка либо в цикле, либо в условии. Значит нужно сперва удалить все комменты, с одной удаляемой категорией и только потом удалять саму категорию из category_comment
У меня получается, если в массиве комментов (2, 4, 9, 13), например, комменты с id2 и id9 нужно удалить, то удалится только коммент с id2. А если в массиве комментов (2, 4, 9, 13) нужно удалить только коммент с id9, то ничего ничего не удалится
OVK2015: Да, в примере должен быть удален только комментарий с id9, он не удаляется, но например если комментарий с id2 будет иметь только одну категорию, удаляемую, то коммент с id2 удалится, а следующий коммент на удаление с id9 не удалится, не знаю в чем причина, может ошибка в цикле или условии
SharuPoNemnogu: delete cascade у меня работает только если у коммента одна категория, а если больше одной категории, то я не смог реализовать, пытаюсь все это вручную связать
OVK2015 п.3 вернет не только "3".
Например:
В п.2 мы получили, что 4 комментов оставлены в category_id = 3, допустим получили такой массив комментариев (2, 4, 9, 13).
В п.3 мы ищем все категории связанные с комментом, я ведь писал что коммент может быть оставлен в нескольких категория одновременно, например коммент с id 2 оставлен в 3 категориях (1,3,7), коммент с id 4 оставлен в 2 категориях (2,3), коммент с id 9 оставлен в 1 категориях (3),
коммент с id 13 оставлен в 5 категориях (1,3,7, 9, 12).
OVK2015: Не совсем.
1. На вход дается id из таблицы category
2. Ищутся все comment_id в таблице category_comment по связке category_comment.category_id = category.id
3. Используя найденый в предыдущем пункте массив comment_id ищем все category_id в таблице category_comment, т.е. ищем для каждого найденого комментария свои категории.
4. Если у коммента больше чем одна категори, то мы удаляем только запись из таблицы category_comment вместе с категорией, а сам коммент оставляем, если только одна категория, то удаляем и категорию, и запись из таблицы category_comment, и сам коммент, коммент без категории не нужен.
Надеюсь у меня получилось объяснить то что нужно
OVK2015: Посетитель может оставить коммент в одной или нескольких категориях, в методе Category_Comment->findCatId($id) я ищу все категории связанные с комментом, id коммента передается здесь "WHERE category_comment.comment_id = ' . $id", вроде правильный запрос
OVK2015, а в чем ошибка? Вроде правильный запрос, по находит все комменты из одной категории. Алексей Ярков Простите новичка за глупый вопрос, но все таки его задам, , а что такое триггеры и с чем их едят?