8得票5回答
数据映射器通常是什么样子?

我有一个名为Cat的表格和一个名为Cat的PHP类。现在我想创建一个CatDataMapper类,以便Cat扩展CatDataMapper。 我希望该数据映射器类提供基本的ORM功能,以及用于创建、编辑和删除Cat的功能。 为此,也许了解这种模式非常好的人可以给我一些有用的建议?我觉得只提...

8得票3回答
数据映射器多字段唯一索引

在Datamapper中,如何指定两个字段的组合必须是唯一的。例如,类别必须在域内具有唯一名称: class Category include DataMapper.resource property :name, String, :index=>true #must be u...

8得票2回答
使用Sinatra显示错误信息

我正在编写一个简单的应用程序,它从用户那里获取标准输入。对于电子邮件条目,我让它验证是否符合标准电子邮件格式,然后在将新实例保存时列出问题,如下所示: u = User.new u.email = params[:email] u.save if u.save redirect '/' ...

8得票3回答
具有多个持久层的PHP数据映射器

我正在使用PHP编写一个系统,需要向三个持久层进行写入: 一个Web服务 两个数据库(一个是mysql,一个是mssql) 原因是遗留系统无法更改。 我想使用DataMapper模式,并尝试确定实现我想要的最佳方法。我有以下接口: <?php $service = $...

7得票2回答
在使用Postgresql的Datamapper中,如何进行不区分大小写的模糊查询(ilike)?

我们正在Sinatra应用程序中使用Datamapper,并希望在Sqlite(开发环境中)和Postgresql(Heroku生产环境中)上都能使用大小写不敏感的like。 我们有类似以下语句: TreeItem.all(:name.like =>"%#{term}%",:uniq...

7得票2回答
将业务逻辑与PHP Doctrine 2分离

我使用Symfony 2.3和PHP Doctrine 2。 程序有以下模型: entity Order - a typical customer order entity BadOrderEntry(fields: id, order - unidirectional one-to-o...

7得票3回答
数据映射器API - 不确定组织结构

假设我们有“用户”和“酒店”模型类。我会使用User_Mapper和Hotel_Mapper进行加载/保存/删除等操作。然后,我希望用户能够标记他们“喜欢的”酒店。在数据库中,我有一个名为user_favourite_hotels 的简单链接表,还有一个用于订阅酒店更新的字段。 在列出用户喜...

7得票2回答
数据映射器 + 观察者模式

我正在使用PHP构建一个应用程序,并使用数据映射器模式进行数据库访问。我考虑使用观察者模式来使所有的映射器观察它们创建的实体,以便它们可以自动将任何更改保存回数据库,而无需手动解析它们。 我只是想知道这是否是一个好主意,或者是否是不良做法等? 我通常使用几个链接在一起的对象层级,并且目前必...

7得票3回答
Zend框架应用层中的Master/Slave开关

我正在编写一个应用程序,需要在应用程序层面上进行主/从切换。目前,我在创建映射器时实例化了一个Zend_Db_Table对象,然后将setDefaultAdapter设置为从库。 现在,在基本映射器类中,我有以下方法: public function useWriteAdapter() {...

7得票2回答
复杂的 DataMapper 查询关联

我是一个DataMapper ORM的初学者,所以我有关于复杂查询的问题。 首先,这里是简化后的数据对象: class User property :id, Serial property :login, String has n, :actions end ...