数据库
首页 > 数据库> > 如何使用Doctrine 2.0 ORM模型选择数据库数据?

如何使用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