在laravel中删除子表中所有相关子行后,删除父表数据

时间:2018-09-10 11:48:52

标签: php laravel-5.5

这是我的父表:-

id | name    | created_at
 1 | mobile  |  NULL
 2 | Laptop  |  Null 

这是子表:-

id | name  |parent_id| amount | created_at
 1 | Nokia |    1    | 2500   | NULL
 2 |Samsung|    1    | 3500   | Null
 3 |Sony   |    1    | 4000   | Null 

当我使用外键删除与父移动数据相关的所有子数据时,我还要在父表中删除移动数据。

1 个答案:

答案 0 :(得分:0)

在您的删除语句后添加此代码

$child = DB::table('child')->where('parent_id',$id)->get();
if($child->count() == 0){
    $parent = DB::table('parent')->where('id', $id)->delete();;
}

确保为此使用查询构建器

如果您使用的是口才而不是DB,则添加..

use DB;

上课之前。

希望这可以解决您的问题!