gpt4 book ai didi

php - Doctrine 连接语法错误

转载 作者:行者123 更新时间:2023-11-29 05:09:55 26 4
gpt4 key购买 nike

我正在用我自己的框架编写我的 CMS,使用的是 doctrince 2.5+。

我的数据库表是这样的:

项目表:

+---------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| owner_id | int(11) | NO | MUL | NULL | |
| item_id | int(7) | NO | MUL | NULL | |
| count | bigint(20) | NO | | NULL | |
| money | varchar(32) | NO | | NULL | |
| name | varchar(32) | NO | | NULL | |
+---------------------+-------------+------+-----+---------+-------+

人物表:

+------------------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+----------------------+------+-----+---------+-------+
| Id | int(11) | NO | PRI | 0 | |
| name | varchar(35) | NO | UNI | | |
| age | int | NO | | | |
+------------------------+----------------------+------+-----+---------+-------+

我声明了这样的模型:Item.php

class Item{
/** @id @Column(type="integer", name="id")**/
public $id;
/** @Column(type="integer", name="owner_id")**/
public $owner_id;
/** @Column(type="integer", name = "item_id")**/
public $item_id;
/** @Column(type="bigint", name = "count")**/
public $count;
/** @Column(type="string", name = "money")**/
public $money;
/** @Column(type="string", name = "name")**/
public $name;
}

Pesron.php

 class Person{
/** @id @Column(type="integer", name="Id")**/
public $id;
/** @Column(type="string", name="name", unique=true)**/
public $name;
/** @Column(type="integer", name="age")**/
public $age;
}

如上所述,我在这里没有关联。我的 DQl 是:

    $qb = $this->em->createQueryBuilder();  
$qb->select('i.id,i.item_id,i.enchant_level, i.owner_id,p.char_name,p.id')
->from('Item','i');
$qb->join('Person','p','WITH','i.owner_id == p.id');

Doctrine 无法解析 DQL。 为什么???我查看了文档的文档,但不知道为什么。 没有 with 结果是错误的。 提前致谢。

最佳答案

Doctrine 是正确的 - 这不是有效的 DQL,因为您使用的是双等号 (==)。你可能想要这个:

$qb->join('Person','p','WITH','i.owner_id = p.id'); 

关于php - Doctrine 连接语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com