以下是我想做的事情:
User:
id
first_name
second_name
gender
我创建了一个php对象“User”,我修改了“User”的属性,我更新了数据库,例如,
$aUser->setGender("M");
在设置性别中,我使用php执行更新语句...但是我在这里遇到了问题,如果用户只有4个属性,我可以逐个编写。但是如果对象有很多属性,我需要编写更多更新语句....(我可以编写一个通用的更新语句,无论我改变哪个属性,我都会更新所有属性一次,但我觉得这没有意义所以... ...)我该如何简化呢?谢谢。
答案 0 :(得分:1)
该问题的评论表明:您应该不时使用save()
之类的方法,而不是每次发生任何变化时都要查询数据库。
就我个人而言,即使相应的属性没有改变,我也没有看到更新每一列的问题。但是,您可以将原始值保存在另一个(数组)属性中,然后将这些值相互比较。
答案 1 :(得分:0)
您可以拥有如下功能(类似于其他人的建议):
$ aUser-> setValues(array(“gender”=> “M”,“first_name”=> “史蒂夫”));
然后该函数可以引用您的对象变量来检查它们是否不同并运行更新。或者只使用相同的值运行更新。
答案 2 :(得分:0)
不要重新发明轮子。使用对象关系映射器。你正在做的事情听起来像是RedBean最好的服务。