laravel中observe不能监听到updated事件原因
阅读原文时间:2023年07月09日阅读:2

//这种方式不行
Student::where('id', $request->student_id)->update($student);

$findStudent = Student::where('id', $request->student_id)->first()->update($student);

// 这种方式模型观察者才能监听到updated
$findStudent = Student::find($request->student_id); $findStudent->update($student);

//这种2方式也可以
// 第一种

Student::find($student->id)->update(['getter_updated_at'=> time()]);

// 第二种

$student = Student::find($studentId);
addStudentLog($student->id, 15, "批量修改名单归属人:【{$student->getter}】→【{$request->getter}】");
$student->getter = $request->getter;
$student->getter_time = date('Y-m-d H:i:s', time());
$student->updater = $request->user()->real_name;
$student->save();

注意:通过 Eloquent 进行批量更新时,被更新模型的 saved 和 updated 事件不会被触发。这是因为批量更新时,并没有真的获取模型。

记住要真的获取模型, 并且要数据变动才可以

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章