gpt4 book ai didi

forms - symfony 是否有一个内置的方法来将受污染的值与原始值进行比较?

转载 作者:行者123 更新时间:2023-12-04 15:48:05 25 4
gpt4 key购买 nike

我正在使用 symfony 1.4 和 Doctrine。我构建了一个表单,该表单使用具有 Versionable 行为的表。正如预期的那样,每次提交和保存表单时,Versionable 都会创建该行的新版本。我的问题是,如果提交的实际值与通过编辑操作放入表单的原始值没有任何不同,我想阻止它这样做。

我知道我可以用 javascript 相对容易地做到这一点。我只是好奇 symfony 或 Doctrine 是否已经有这个功能,如果有的话,它是如何使用的。这似乎是 symfony 有一个方法,可以在 $form->save() 之前检查。叫做。我是在做梦还是遗漏了一些明显的东西?

最佳答案

save() 的评论Doctrine_Record 的方法是

/**
* applies the changes made to this object into database
* this method is smart enough to know if any changes are made
* and whether to use INSERT or UPDATE statement
*
* this method also saves the related components
*
* @param Doctrine_Connection $conn optional connection parameter
* @throws Exception if record is not valid and validation is active
* @return void
*/

所以首先,你应该检查它是否已经不起作用。
如果没有,Doctrine_Record 有一个 isModified() 方法你可以使用。如果 bind()表单对象的方法修改表单中的对象,该对象首先应包含默认值,然后此方法应返回true。

关于forms - symfony 是否有一个内置的方法来将受污染的值与原始值进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com