我有五个表:
邮政
类别
标签
category_post
post_tag
我遇到的问题是,如果我删除帖子,那么它也应该删除所有相关表中该帖子的所有关系。但是系统正在执行完全相反的操作,它只是删除帖子表中的帖子。
我找到了一个解决方案
$table->engine='InnoDB'
但我的问题还是一样
这是我对 Category_post 数据透视表的迁移
public function up()
{
Schema::create('post_tag', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->integer('post_id')->index()->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
$table->integer('tag_id')->index()->unsigned();
$table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade');
$table->timestamps();
});
}
这就是我在控制器中所做的
public function destroy(Post $post)
{
$post=Post::find($post->id);
$post->delete();
return redirect('admin/post')->with('message','Deleted Sucessfully');
}
我也试过这个
public function destroy(Post $post)
{
$post=Post::find($post->id);
$post->categories()->delete();
$post->tags()->delete();
$post->delete();
return redirect('admin/post')->with('message','Deleted Sucessfully');
}
但得到了相同的结果
12345678_0001