如何使用Doctrine 2.0 ORM模型选择数据库数据?
作者:互联网
我最近开始学习将Doctrine 2.0框架用于PHP.现在,我已经设法利用了一些教义(使用MySQL),使用定义的XML模型插入了一些数据,但是现在我在选择数据时遇到了问题.我发现包括Doctrine站点在内的所有地方,都是由DQL或原始SQL选择数据的.但是这样,我失去了ORM所提供的一半优势.如何使用纯ORM选择数据,例如像在Java中使用Hibernate一样?
这是我正在使用的Doctrine网站上的一些映射XML示例:
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Product" table="products">
<id name="id" type="integer" column="product_id">
<generator strategy="AUTO" />
</id>
<field name="name" column="product_name" type="string" />
</entity>
</doctrine-mapping>
解决方法:
一开始我也很想念那个,但是要理解的重要一点是DQL不理解表的概念(请参阅注释DQL is not SQL),它是纯粹的面向对象的查询.也就是说,您查询模型,而不是直接查询数据库.
手册本身指出DQL为“ is very similar to the Hibernate Query Language”.
标签:doctrine-orm,mysql,php 来源: https://codeday.me/bug/20191208/2090106.html