通过两个字段删除相关记录
delete record related through two field
我有两个模型:
模型 1
字段 ID,field_a,field_b
模型 2
id2, field_a, field_b
on $model1->delete() 我也想删除 $model2 其中 field_a 和 field_b 与 $model1 相同(两者)
例子
model1
1, 2, 5
model2
1, 2, 4
2, 3, 5
3, 2, 5 (to be deleted)
我不知道这是否有帮助
Automatically deleting related rows in Laravel (Eloquent ORM)
只需查找并删除模型 2 中列值相似的行。
Model2::where('field_a',$model1->field_a)->where('field_b',$model1->field_b)->delete();
$model1->delete();
这里,模型2是第二个模型的class。
在模型 1 上注册删除事件,删除值匹配的模型 2。
在model 1
中添加以下...
public static function boot()
{
parent::boot();
static::deleted(function($model1) {
Model2::where('field_1', $model1->field_1)->where('field_2', $model1->field_2)->delete()
});
}
现在,每当您删除模型 1 时,具有匹配属性的模型 2 也会被删除。
我有两个模型: 模型 1 字段 ID,field_a,field_b
模型 2 id2, field_a, field_b
on $model1->delete() 我也想删除 $model2 其中 field_a 和 field_b 与 $model1 相同(两者)
例子
model1
1, 2, 5
model2
1, 2, 4
2, 3, 5
3, 2, 5 (to be deleted)
我不知道这是否有帮助 Automatically deleting related rows in Laravel (Eloquent ORM)
只需查找并删除模型 2 中列值相似的行。
Model2::where('field_a',$model1->field_a)->where('field_b',$model1->field_b)->delete();
$model1->delete();
这里,模型2是第二个模型的class。
在模型 1 上注册删除事件,删除值匹配的模型 2。
在model 1
中添加以下...
public static function boot()
{
parent::boot();
static::deleted(function($model1) {
Model2::where('field_1', $model1->field_1)->where('field_2', $model1->field_2)->delete()
});
}
现在,每当您删除模型 1 时,具有匹配属性的模型 2 也会被删除。