Php 在ZEND中的一个查询中访问多个数据库表
我有一个模型,其中包含几种类型的产品,它们都存储在不同的MySQL数据库中,但都有一个“父”产品存储在另一个表中。父表称为“产品”,其中包含变量: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
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