Laravel delete() 时出现 BadMethodCallException
Laravel BadMethodCallException on delete()
无法对 find() 执行删除,
BadMethodCallException Call to undefined method
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);
});
}
}
如错误消息中所示:
在 use App\Http\Traits\UseUuid
中,您可能已经定义了一个要在 ondeletemodel
上触发的侦听器,但是在特征或任务模型中没有这样命名的方法
$tasks = Task::find($id);
$task->users->detach();
$tasks->delete();
session()->flash('message', 'Task Deleted Successfully.');
无法对 find() 执行删除,
BadMethodCallException Call to undefined method 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);
});
}
}
如错误消息中所示:
在 use App\Http\Traits\UseUuid
中,您可能已经定义了一个要在 ondeletemodel
上触发的侦听器,但是在特征或任务模型中没有这样命名的方法
$tasks = Task::find($id);
$task->users->detach();
$tasks->delete();
session()->flash('message', 'Task Deleted Successfully.');