【发布时间】:2015-02-02 08:52:51
【问题描述】:
这是我在发票模型中的代码:
class Invoice extends Eloquent {
protected $table = "invoice";
protected $guarded = ["id"];
protected $deleted_at = ['deleted_at'];
use SoftDeletingTrait;
public static function boot() {
parent::boot();
Invoice::deleted(function($invoice) {
if($invoice->isSoftDelete()) {
//do in case of soft delete
} else if($invoice->isForceDelete()) {
//do in case of force delete
}
});
}
}
例如:
$invoice = Invoice::find(1);
当$invoice被删除时(可能是软删除或强制删除)
$invoice->delete();
$invoice->forceDelete();
如何在上面的函数boot()中判断$invoice是软删除还是强制删除?
【问题讨论】:
-
forceDelete()不执行硬删除吗? IE,实际上是删除了roe。 -
@ollieread 是的,但在此之前触发了事件,因此模型仍然可用...
标签: laravel cascading-deletes soft-delete