当前位置: 首页 > 知识库问答 >
问题:

Laravel:如何验证模型是否已更改

谈秦斩
2023-03-14

对于雄辩的save方法,是否有一种简单的方法来检查一行是否确实发生了更改?类似于受影响的\u行的内容是否有说服力?

我发现的唯一解决方法是从Laravel Eloquent update中获得的,只要做了以下更改:

$user = Auth::user();

$timestamp = $user->updated_at;

$user->title = $request->input('title');
....

$user->save();

if($timestamp == $user->updated_at){
   // row was not updated.
}

但是,这是否可以在不需要$timestep变量和检查的情况下找到更短的结果?我不想在每个控制器中重复这种逻辑。

我正在寻找这样的东西:

$user = Auth::user();

$user->title = $request->input('title');
....

if($user->save()){
   // row was updated.
}

但是这不起作用,因为$user-


共有3个答案

邵璞
2023-03-14

而是使用update()更新记录。。。

$user = Auth::user();
$userUpdated = $user->update($request->all());

//Print number of updated rows...
print($userUpdated);

这将显示受影响的行数...

万选
2023-03-14

您还可以完全跳过保存,并检查您的型号是否-

// ...
$user->title = $request->input('title');

if ($user->isDirty()) {
    $user->save();
}

除了isDirty(),还有isClean(),等等。

签出:HasAttributes

司空默
2023-03-14

首先,不是:

$user->save

你应该使用:

$user->save();

要验证最新Laravel中是否有任何更改,您可以使用:

if ($user->wasChanged()) {
    // do something
}

但请注意,这是我在Laravel 5.5中所记得的

 类似资料:
  • 问题内容: 我已经看到很多人使用这种方法来检查laravel模型是否已保存。所以现在我想知道这是否是一种安全的方法。 而且我还可以检查以下查询是否已执行 检查模型是否保存 例如: 以上是检查模型是否保存的安全方法吗? 检查查询是否返回结果 例如: 如果找不到产品,以上内容是否会返回错误? 检查查询是否执行 例如: 上面是否检查用户是否已创建? 问题答案: 检查模型是否保存 会返回一个布尔值,保存或

  • 我想验证字段,如果存在,将失败,如果另一个字段不存在如何做到这一点?我已经创建了自定义验证,以获得基于存储ID的记录 我有字段和,并且字段根据在最大值和最小值之间进行验证,如果我显示=且未填写字段,则验证字段将通过,并显示错误,因为我未填写我希望在执行自定义验证之前检查是否为空。。 我已经阅读了laravel文档上的所有验证方法,但仍然没有找到解决方案。怎么做?

  • 我需要一个PDO函数,如果用户course_id已经存在,它将返回false。 这是我的学生表列 标准标识 A这是我的课程表 课程编号 我还有报名表 id 我需要验证用户是否已经使用PHP PDO函数学习了一门课程,以及学习了特定课程的学生人数。

  • As we learned earlier in the book, the validate method on a Model is called before set and save, and is passed the model attributes updated with the values from these methods. By default, where we def

  • 我需要验证一个Map值是否为null,因为我经常使用集合,愿意实现验证Map值的通用方法,所以尝试了这个 有没有人能帮助我更深入地理解这个逻辑。

  • 我们正在构建一个需要精确性的apiendpoint。我们希望对POST/PUT到服务器的参数实施严格的验证。 如果api用户发送了一个不受支持的对(例如,我们允许参数[first\u name,last\u name],并且用户包含一个不受支持的参数[country]),我们希望验证失败。 已尝试构建名为(用作)的自定义验证器,但要使其在数组中可用,必须将其应用于嵌套/子属性列表的父级(…因为我们