Mysql 使用原则2.2的内部连接查询

Mysql 使用原则2.2的内部连接查询,mysql,doctrine-orm,Mysql,Doctrine Orm,我一直在学习条令2.2,并一直关注条令官方网站以熟悉它。我对将这个普通的mysql查询转换为DQL感到震惊 我有一个包含两个表的示例数据库: **Table 1** fruits: fruit_id | fruit_name | fruit_type **Table 2** country: country_id | country_name | fruit_id 我想通过说出水果的名字来获取国家的名称。这通常适用于mysql查询 "SELECT c.country_name FROM co

我一直在学习条令2.2,并一直关注条令官方网站以熟悉它。我对将这个普通的mysql查询转换为DQL感到震惊

我有一个包含两个表的示例数据库:

**Table 1**
fruits:
fruit_id | fruit_name | fruit_type

**Table 2**
country:
country_id | country_name | fruit_id
我想通过说出水果的名字来获取国家的名称。这通常适用于mysql查询

"SELECT c.country_name FROM country c
 INNER JOIN fruits f 
 WHERE f.fruit_name = 'Apple'";
使用doctrine,我创建了两个类Fruits和Country,它们是数据库中表的实体。我试过这样做:

$dql = "SELECT c.country_name FROM Model\Country c
        INNER JOIN Model\Fruits f ON (c.fruit_id = f.fruit_id)
        WHERE f.fruit_name = 'Apple'";
$query = $em->createQuery($dql);
$result = $query->getArrayResult();
这给我带来了一个错误:

Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message '[Semantical Error] line 0, col 76 near 'f ON (c.fruit_id': Error: Identification Variable Model\Fruits used in join path expression but was not defined before.' in .......
如果有人能解释一下如何使用2.2条原则编写内部连接,那将是很有帮助的

编辑: 在案例中,如果某个精通原则2的人可以使用
Docblock注释为一对多关系提供一个简单的工作示例,其中第一个表中的主键是另一个表中的外键。
谢谢