Php 在ZEND中的一个查询中访问多个数据库表

Php 在ZEND中的一个查询中访问多个数据库表,php,mysql,zend-framework,Php,Mysql,Zend Framework,我有一个模型,其中包含几种类型的产品,它们都存储在不同的MySQL数据库中,但都有一个“父”产品存储在另一个表中。父表称为“产品”,其中包含变量: id type price name “儿童”的一个例子是“书籍”,其中包括: id meta_id pages 另一个“孩子”可能是“DVD”: 其中,子对象的元id等于父对象的id 在老式的MySQL中,我可以通过以下方式获取所有书籍: SELECT p.id, p.type, p.price, p.name, b.pages FRO

我有一个模型,其中包含几种类型的产品,它们都存储在不同的MySQL数据库中,但都有一个“父”产品存储在另一个表中。父表称为“产品”,其中包含变量:

id
type
price
name
“儿童”的一个例子是“书籍”,其中包括:

id
meta_id
pages
另一个“孩子”可能是“DVD”:

其中,子对象的元id等于父对象的id

在老式的MySQL中,我可以通过以下方式获取所有书籍:

SELECT 
  p.id, p.type, p.price, p.name, b.pages 
FROM 
  products p 
LEFT JOIN 
  books b
ON
  p.id=o.meta_id

我知道如何使用Zend、扩展Zend_Db_table_Abstract和使用Mapper&a模型在一个数据库表中读写数据。如果我必须读/写存储在多个数据库表中的对象,我只是不知道如何做到这一点。我该如何设置?我应该使用什么型号/图案?我确信这是相当标准的东西,但我已经搜索了好几天了,寻找清晰的例子,但我似乎无法理解

我和你有着完全相同的困惑,这里有一个很棒的页面——它解释了如何解决这个确切的问题。您将看到ZF拥有处理这类事情的优秀工具(除了使用类似ORM的原则)


另外,当您查询多个表时,了解完整性检查是很有用的,正如这里提到的,我和您有完全相同的困惑,这里有一个很好的页面,它解释了如何解决这个确切的问题。您将看到ZF拥有处理这类事情的优秀工具(除了使用类似ORM的原则)


此外,当您查询多个表时,注意完整性检查也很有用,正如这里提到的

您也可以使用老式的方法<代码>$oDb->fetchAll(/*字符串mysql*/)$oDb是Zend_Db::factory函数(带参数),谢谢,但我不喜欢使用编写完整查询的旧方法。您也可以使用老式方法<代码>$oDb->fetchAll(/*字符串mysql*/)$oDb是Zend_Db::factory函数(带参数)谢谢,但我不喜欢使用编写完整查询的旧方法。谢谢!该页面看起来可能有解决方案。谢谢!该页面看起来可能有解决方案。
SELECT 
  p.id, p.type, p.price, p.name, b.pages 
FROM 
  products p 
LEFT JOIN 
  books b
ON
  p.id=o.meta_id