Sim, é o seu esquema. A restrição em
likes.post_id
irá impedir que você apague registros das posts
tabela. Uma solução pode ser usar
onDelete('cascade')
nos likes
arquivo de migração:Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Dessa forma, quando uma postagem for excluída, todas as curtidas relacionadas também serão excluídas.
Ou, se você tiver um relacionamento do modelo Post com o modelo Like, você pode
$post->likes()->delete()
antes de excluir a postagem em si.