关于在数据库之间实现PHP对象的建议

时间:2011-07-05 13:47:05

标签: php database object

以下是我想做的事情:

User:
id
first_name
second_name
gender

我创建了一个php对象“User”,我修改了“User”的属性,我更新了数据库,例如,

$aUser->setGender("M");

在设置性别中,我使用php执行更新语句...但是我在这里遇到了问题,如果用户只有4个属性,我可以逐个编写。但是如果对象有很多属性,我需要编写更多更新语句....(我可以编写一个通用的更新语句,无论我改变哪个属性,我都会更新所有属性一次,但我觉得这没有意义所以... ...)我该如何简化呢?谢谢。

3 个答案:

答案 0 :(得分:1)

该问题的评论表明:您应该不时使用save()之类的方法,而不是每次发生任何变化时都要查询数据库。

就我个人而言,即使相应的属性没有改变,我也没有看到更新每一列的问题。但是,您可以将原始值保存在另一个(数组)属性中,然后将这些值相互比较。

答案 1 :(得分:0)

您可以拥有如下功能(类似于其他人的建议):

  

$ aUser-> setValues(array(“gender”=>   “M”,“first_name”=> “史蒂夫”));

然后该函数可以引用您的对象变量来检查它们是否不同并运行更新。或者只使用相同的值运行更新。

答案 2 :(得分:0)

不要重新发明轮子。使用对象关系映射器。你正在做的事情听起来像是RedBean最好的服务。