я реализовал вложенные комментарии в laravel с parent_id, и есть еще одна таблица голосов, где хранятся связанные данные.
У меня есть отношение hasMany, определенное в модели комментариев. Теперь, когда я удаляю комментарий, он также должен удалить все свои ответы и голоса.
Для удаления голосов я использовал
$review->votes()->delete();
, который работает отлично. но я застрял с удалением голосов за вложенные ответы.
Если я использую цикл foreach, как выполнить цикл внутри всех уровней, который является динамическим.
public function deletereview($id=null){
$review = Review::find($id);
foreach($review->replies as $reply){
$reply->votes()->delete();
//how to do this for all levels?
$reply = $reply->votes(); // this doesn't work
}
return back();
}
Пожалуйста, посоветуйте, как правильно это сделать.
Примечание: я прочитал каскадные опции из миграций, но это ничего не объясняет для вложенных комментариев (ответ ответов и связанных с ними данных).
Спасибо
-Vijay