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

如何知道哪些字段已更新

景正文
2023-03-14

我在laravel 5中工作,我有一个模块,用户可以在其中更新学生的信息,因为用户有一个带有当前数据的预加载表单,并且可以修改他想要的字段。然后,在控制器中,我执行以下操作:

$perfil->update(Input::all())

那工作得很好。所以我的问题是:有一种方法可以获得已经更新的字段的名称?

共有2个答案

沈冠宇
2023-03-14

您想使用dirty()方法。这里已经很好地解释了这一点。

Laravel雄辩的更新,只要已进行更改

端木澄邈
2023-03-14

即使在坚持之后,也可以在Eloquent模型上使用getChange()

$offer->update($data);
$offer->getChanges(); // [ "price_min" => "1233",  "updated_at" => "2019-01-10 15:36:23"]
 类似资料:
  • 我想要一种方法,只更改字段,用户已更改,如果他选择了多行。

  • 问题内容: 有没有一种方法可以检查里面的道具发生了变化(没有在其他地方存储旧道具)? 即 问题答案: 请注意,该功能现已 弃用 。引用官方文件: 如果仅当属性更改时才用于重新计算某些数据,请改用备忘录助手。 这是指您的内部检查避免不必要地多次重新计算相同内容的情况。在链接的博客文章中,它建议将昂贵功能的结果缓存起来,以便可以查找它,而不是重新计算它。可以使用诸如memoize- one之 类的助手

  • 问题内容: 我正在使用将数据放置到API的编辑表单(user.html),但是我想避免将所有数据放置在表单中。我只想输入已更改的项目。 我已经看到在处理表单时使用肮脏和原始的方法,但这适用于表单中的任何更改。我也看到了ng- change的用法,但是我不想触发对一个元素进行更改的动作,只是表示更改后的元素应包含在PUT中。 有人找到一种仅表示已更改的输入字段的方法吗? 问题答案: 如果将输入与属性

  • 问题内容: 我是新手,所以请保持温柔。 因此,我已经在某些代码中使用互斥锁了几周了。我了解其背后的概念:锁定对特定资源的访问权限,与之交互(读或写),然后为其他人再次解锁。 我使用的互斥锁代码主要是复制粘贴调整。该代码可以运行,但是我仍在努力解决其内部问题。到目前为止,我一直在结构中使用互斥锁来锁定该结构。今天,我发现了这个例子,这使我完全不清楚互斥锁实际上是在锁定什么。以下是一段示例代码: 让我

  • 我有以下 JSON 我知道它有“a”和“b”字段,但我不知道其他字段的名称。所以我想以以下类型散集它: 我该怎么做?

  • 假设我从存储库中查找一个对象。如果在查找后立即保存此对象,则Spring数据足够聪明,不会更新数据库。如果我更改此对象中的属性,然后保存,则spring数据会进行更新。它如何知道是否需要进行更新?