【发布时间】:2021-12-29 05:28:59
【问题描述】:
无法对 find() 执行删除,
BadMethodCallException 调用未定义的方法 App\Models\Task::ondeletemodel().
但是当使用它的工作时。
public function delete($id)
{
Task::find($id)->delete(); //error
// Task::where('id', $id)->delete(); //not error
session()->flash('message', 'Task Deleted Successfully.');
}
已编辑:这是我的 uuid 特征:
namespace App\Http\Traits;
use Facades\Str;
trait UseUuid
{
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
$model->uuid = unique_str($model);
});
static::deleting(function ($model)
{
$model->ondeletemodel($model);
});
}
}
【问题讨论】:
-
请您出示您的
Task型号以及您为其设置的任何Observers的代码。 -
请你也展示一下
UseUuidtrait 中发生了什么。您是否为此模型设置了Observer?
标签: laravel eloquent laravel-query-builder