gpt4 book ai didi

php - Symfony2 中的内部连接查询

转载 作者:行者123 更新时间:2023-11-30 23:20:10 25 4
gpt4 key购买 nike

我的mysql查询:

SELECT p.name, c.id 
FROM customer c
INNER JOIN sales_order so ON so.customer_id=c.id
INNER JOIN sales_order_item soi ON so.id=soi.sales_order_id
INNER JOIN product p ON p.id=soi.product_id WHERE c.id=49454\G;

这在 MySql 中工作但是当这个查询在 doctrine2 中转换时它给出错误

"[Semantical Error] line 0, col 87 near 'so ON so.customer_id=c.id': Error: Identification Variable sales_order used in join path expression but was not defined before."

我以 symfony 形式这样写:

$builder
->add('filter', 'entity', array(
'label' => 'Show',
'class' => 'RocketBraPrintBundle:SalesOrderItem',
'query_builder' => function($er) {
return $er->createQueryBuilder('p','so','c','soi')
->select('p.name','c.id')
->from('customer','c')
->innerJoin('sales_order','so','ON','so.customer_id=c.id')
->innerJoin('sales_order_item','soi','ON','so.id=soi.sales_order_id')
->innerJoin('product','p', 'ON', 'p.id=soi.product_id')
->where('c.id=49454\G');
},
'empty_value' => 'All',
'required' => false
))

谁能告诉我用 symfony2 方式转换这个 mysql 查询的正确方法是什么?

最佳答案

->innerJoin('c.sales_order')

其中“sales_order”是来自“customer”实体的确切关系名称。

关于php - Symfony2 中的内部连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15872653/

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