php - AddSelect 在 searchQueryBuilder 使用条件
问题描述
我必须得到我的客户,并且所有客户都有一个(客户组)例如:客户/卖家/客人/买家......并且任何客户都有一个默认组,我只想获得这个客户的默认组当他是买方但当他是卖方时,我想获得任何其他组(当他在该组中时),我应该在 mysql 部分中执行此条件。这就是我所做的,但我遇到了一些问题
$searchQueryBuilder->addSelect("CASE
WHEN cg.id_group = 4 THEN c.id_default_group
ELSE cg.id_group END as id_group");
//dump($searchQueryBuilder);die;
$searchQueryBuilder->leftJoin(
'c',
'' . pSQL(_DB_PREFIX_) . 'customer_group',
'cg',
'c.id_customer = cg.id_customer '
);
$searchQueryBuilder->leftJoin(
'cg',
'' . pSQL(_DB_PREFIX_) . 'group_lang',
'gcl',
'id_group = gcl.id_group AND gcl.id_lang = '.(int) $this->context->language->id
);
在 LeftJoin 中使用别名列时出现错误
解决方案
这意味着有不止一列具有“ id_group ”名称。
例如,当我们在两个表“用户和主题”之间使用连接时,现在两个表都有列“id”,我们使用“group by id”
系统将错误列“id”不明确。所以我们需要从“group by”使用哪个表列id来判断。
像这样的东西:
“GROUP BY users.id”
推荐阅读
- c# - 如何在 azure 函数的堆栈跟踪中显示文件名和行号
- angular - Angular SignalR 不适用于 AWS 负载均衡器代理 URL
- java - 未找到 id 0x7f0a01a2 的视图...片段
- sql - 如何将 SQL SELECT 语句中的 1 行转换为 INT
- java - Jackson:将一个值反序列化为两个 java 字段
- r - R按未显示的变量对克利夫兰点图进行排序
- retrofit - Retrofit 或 OkHttp 是否限制并行请求的数量?
- laravel - Livewire 和 CKEditor
- kubernetes - helm:在 Chart.yaml 中找到,但在 charts/ 目录中缺少:postgresql,
- python - ProgrammingError at / relation "products_product" 不存在 LINE 1: ...votes_total", "products_product"."hunter_id" FROM "products_