如何确定模型是否在Laravel 4.2中使用软删除

Chr*_*ris 4 model soft-delete laravel eloquent

如何确定模型是否在Laravel 4.2中使用软删除?

Laravel API中我找到了函数isSoftDeleting(),但显然它已经从Laravel 4.2中删除,因为它使用了SoftDeletingTrait.

我如何确定模型现在是否使用软删除?

RMc*_*eod 11

如果要以编程方式检查Model是否使用软删除,可以使用PHP函数class_uses来确定模型是否使用了SoftDeletingTrait

// You can use a string of the class name
$traits = class_uses('Model');
// Or you can pass an instance
$traits = class_uses($instanceOfModel);

if (in_array('SoftDeletingTrait', $traits))
{
    // Model uses soft deletes
}

// You could inline this a bit
if (in_array('SoftDeletingTrait', class_uses('Model')))
{
    // Model uses soft deletes
}
Run Code Online (Sandbox Code Playgroud)