Laravel 4.2如何判断模型是软删除还是强制删除
Laravel 4.2 how to determine if model is soft delete or force delete
这是我在发票模型中的代码:
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是软删除还是强制删除?
该模型有 属性 forceDeleting
。这将是 true
或 false
:
if($invoice->forceDeleting){
//do in case of force delete
}
else {
//do in case of soft delete
}
注意这个属性只有在使用SoftDeletingTrait
时才可用。所以在某种基础模型中使用它要小心。
这是我在发票模型中的代码:
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是软删除还是强制删除?
该模型有 属性 forceDeleting
。这将是 true
或 false
:
if($invoice->forceDeleting){
//do in case of force delete
}
else {
//do in case of soft delete
}
注意这个属性只有在使用SoftDeletingTrait
时才可用。所以在某种基础模型中使用它要小心。