我有一个名为
我希望该数据映射器类提供基本的ORM功能,以及用于创建、编辑和删除Cat的功能。
为此,也许了解这种模式非常好的人可以给我一些有用的建议?我觉得只提供一些像update()、delete()、save()之类的函数可能会有点太简单了。
我意识到数据映射器有这个问题:首先创建Cat实例,然后初始化所有变量,如名称、毛色、眼色、咕噜声、喵声、服务员等。当一切都设置好后,调用从CatDataMapper继承的save()函数。这很简单;)
但现在,真正的问题是:您查询数据库以获取带有大量猫数据的普通无聊结果集。
PDO具有一些ORM功能来创建Cat实例。假设我使用它,甚至假设我有一个mapDataset()函数,它接受一个关联数组。但是,一旦我从数据集中获得了我的Cat对象,我就有了冗余数据。同时,二十个用户可以从数据库中获取相同的猫数据并编辑猫对象,即重命名猫,并将其保存(save()),而另一个用户仍然想设置其他毛色。当他们都保存自己的编辑时,一切都混乱了。
嗯...好的,为了使这个问题真正简洁:在这里有什么好的做法?
Cat
的表格和一个名为Cat
的PHP类。现在我想创建一个CatDataMapper
类,以便Cat
扩展CatDataMapper
。我希望该数据映射器类提供基本的ORM功能,以及用于创建、编辑和删除Cat的功能。
为此,也许了解这种模式非常好的人可以给我一些有用的建议?我觉得只提供一些像update()、delete()、save()之类的函数可能会有点太简单了。
我意识到数据映射器有这个问题:首先创建Cat实例,然后初始化所有变量,如名称、毛色、眼色、咕噜声、喵声、服务员等。当一切都设置好后,调用从CatDataMapper继承的save()函数。这很简单;)
但现在,真正的问题是:您查询数据库以获取带有大量猫数据的普通无聊结果集。
PDO具有一些ORM功能来创建Cat实例。假设我使用它,甚至假设我有一个mapDataset()函数,它接受一个关联数组。但是,一旦我从数据集中获得了我的Cat对象,我就有了冗余数据。同时,二十个用户可以从数据库中获取相同的猫数据并编辑猫对象,即重命名猫,并将其保存(save()),而另一个用户仍然想设置其他毛色。当他们都保存自己的编辑时,一切都混乱了。
嗯...好的,为了使这个问题真正简洁:在这里有什么好的做法?