2017-09-27 26 views
-4

我在我的项目中使用了php和pdo。在这个项目中,我有很多选择与diferents表的加入和返回。用PDO获取2个或更多对象

当返回只有一个表时,我使用PDO :: FETCH_CLASS来填充我的对象与数据库的返回,(所有类的属性具有DB的列的相同名称)我的问题是人口2或具有相同查询的更多对象。

+0

你的代码在哪里? – Akintunde007

+0

在这种情况下代码不会导入,因为我需要e通用解决方案来获取多个对象,与PDO :: FETCH_CLASS相同,但我无法将2个或多个对象传递给此pdo的静态函数。在我的搜索中,我没有看到任何PDO来解决这个问题,只使用ORM的 –

+3

,所以你期望有人为你写一个通用的解决方案。嗯不知道堆栈溢出是一个免费的编码写作服务。也许我没有得到备忘录 – Akintunde007

回答

-1

如果你谈论的是从一个数据库行产生两类,然后用PDO::FETCH_CLASSPDO::FETCH_OBJ是不会帮助,因为游标fetch()被调用后移动到下一行集的内容。回滚PDO结果集取决于数据库,因此您的数据库可能不支持该数据库。

您的替代方案是使用PDOStatement::fetchAll,然后在对该嵌套数组集进行迭代期间,对每行做出关于是否水合一个或两个对象的决定。您可能需要一个构造函数或公共setter才能做到这一点。