我正在尝试用QueryBuilder查询一个删除已经使用过的对象。正确的Mysql查询是:
SELECT * FROM token LEFT JOIN att_token ON token.id = att_token.id_token_id WHERE att_token.id_utilisateur_id IS null ORDER BY token.num_serie ASC我的存储库中的QueryBuilder是:
'query_builder' => function (EntityRepository $Token) {
return $Token->createQueryBuilder('u')
->from('App\Entity\AttToken', 'att_token')
->LeftJoin('att_token.IdToken','attu')
->Where('att_token.IdUtilisateur IS null')
->orderBy('u.numSerie', 'ASC');但是我没有结果,没有错误。我不知道我哪里错了..。
我在Token和AttToken实体之间有一个OneToOne关系,在AttToken中我有关系描述,但在Token实体中没有...
如果有人有个主意..。
祝您今天愉快。
发布于 2020-02-20 15:22:15
我解决了。我开始删除AttToken上的IdToken属性。然后我使用
php bin/console make:entity要再次创建它,并回答是,
Do you want to add a new property to Token so that you can access/update AttToken objects from it - e.g. $token->getAttToken()? (yes/no) [no]:然后我的createQueryBuilder就会像这样:
->LeftJoin('u.attToken','attu')
->Where('attu.IdUtilisateur IS null')
->orderBy('u.numSerie', 'ASC');祝您今天愉快
https://stackoverflow.com/questions/60297402
复制相似问题