当我想从表中删除一行时,我想检查使用该行ID的表。如果使用,则不允许删除。
答案 0 :(得分:0)
您可以简单地检查行中的特定列(包含其他表的键)是否为空或为null,如果为空,则删除该行,否则跳过该行。 您有两种方法可以做到这一点-
答案 1 :(得分:0)
您可以使用deleting
模型事件来检查关系是否存在。如果这样做,则阻止删除。
https://laravel.com/docs/5.7/eloquent#events
如果您为模型创建观察者,则可以使用以下方式:
public function deleting($model)
{
if($model->someRelation->count()) { // replace ->someRelation with whatever you want to check
return false; // prevent delete
}
if($model->anotherRelation->count()) {
return false; // prevent delete
}
}