【发布时间】:2018-10-23 04:29:27
【问题描述】:
当我想从表中删除一行时,我想检查使用该行 id 的表。如果使用则不允许删除。
【问题讨论】:
-
你如何看待id的使用?你的意思是它在其他表中可用?请提供更多细节。
标签: laravel
当我想从表中删除一行时,我想检查使用该行 id 的表。如果使用则不允许删除。
【问题讨论】:
标签: laravel
您可以简单地检查该行中的特定列(包含其他表的键)是否为空或为空,如果为空则删除该行,否则跳过它。 你有两种方法可以做到-
【讨论】:
您可以使用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
}
}
【讨论】: