【问题标题】:Laravel: selectRaw with GROUP_CONCAT and DISTINCT ONLaravel:带有 GROUP_CONCAT 和 DISTINCT ON 的 selectRaw
【发布时间】:2021-10-24 07:13:50
【问题描述】:

我正在尝试使用DISTINCT ON 仅显示一个drug_code 并使用CONCAT 将drug_dosage 显示在另一个不同的drug_code 上。

这是没有 CONCAT 的输出:

$all_drugs = HmsBbrKnowledgebaseDrug::selectRaw('DISTINCT ON (drug_code)
    bbr_drug_id,
    hospital_id,
    drug_code,
    drug_name,
    drug_dosage,
    display_flag'
)
->orderBy('drug_code', 'ASC')
->get();

如您所见,它可以正常工作,但是在添加带有分隔符的 GROUP_CONCAT 时出现错误:

$all_drugs = HmsBbrKnowledgebaseDrug::selectRaw('DISTINCT ON (drug_code)
    bbr_drug_id,
    hospital_id,
    drug_code,
    drug_name,
    GROUP_CONCAT(drug_dosage SEPARATOR ",") as dosage
    display_flag'
)
->orderBy('drug_code', 'ASC')
->get();

我不知道为什么GROUP_CONCAT 给出了一个方法不支持的错误:

【问题讨论】:

    标签: sql laravel select controller concatenation


    【解决方案1】:

    最后的错误

    get 方法不支持 ....

    这意味着您正在尝试 get 请求路由,但在 routes/web.php 中,有 post 请求该路由 所以问题可能是这样的。

    我想尝试发送一个帖子请求,但您可能已经刷新了选项卡或其他内容,这会触发get 请求而不是post。所以再次尝试发布请求并确定错误是否仍然存在?

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 2013-08-21
      • 2020-11-14
      • 2016-03-28
      • 2021-01-30
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多