我有一个ActionLogTrait
特质,看起来像下面的样子;
<?php
namespace App\Helpers;
trait ActionLogTrait
{
public static function bootActionLogTrait()
{
self::updated(function($model){
$model->update([
'updated_by' => auth()->user()->id,
]);
});
}
}
我已将此特征添加到我的Posts
模型中。
但是,当我使用Posts
从PostController
对此$post->update(['name' => $request->name]);
模型进行更新时,SQL将停止运行几分钟。就像它在循环中一样。在不使用特征的情况下,更新工作正常。
我在做什么错了?
答案 0 :(得分:1)
您陷入了无限循环,因为您是在发生更新事件之后更新模型的,因此会触发另一个更新事件,从而再次更新模型,依此类推...