• laravel中observe不能监听到updated事件原因


    //这种方式不行
    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 事件不会被触发。这是因为批量更新时,并没有真的获取模型。

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

    正心投入专注
  • 相关阅读:
    composer 安装laravel
    面向对象
    dedecms常用标签
    Illegal modifier for parameter *** , only final is permitted”
    import static和import的区别
    <<Effective Java>> 第四十三条
    java valueOf
    linux的shell编程
    DFA和NFA的区别
    发现一个正则网
  • 原文地址:https://www.cnblogs.com/guiyishanren/p/15687354.html
Copyright © 2020-2023  润新知