Postgresql 到 Laravel 雄辩

Posted

技术标签:

【中文标题】Postgresql 到 Laravel 雄辩【英文标题】:Postgresql to Laravel eloquent 【发布时间】:2021-07-03 23:36:26 【问题描述】:

请教我如何在 laravel DB:raw() 中使用 COALESCE 和 TO_CHAR

SELECT MAX(COALESCE(SUBSTR("COLUMN_CODE",8),'0')) AS MAX
FROM public."TABLE_ITEM"
WHERE COALESCE(TO_CHAR("START_DATE",'YYYYMM'),TO_CHAR("RECEIVED_DATE",'YYYYMM')) = '202104'

尝试使用 DB:raw 但仍然出错

selectRaw("MAX(COALESCE(SUBSTR(COLUMN_CODE,8),0)) AS MAX")
->whereRaw("COALESCE(TO_CHAR("START_DATE",'YYYYMM'),TO_CHAR("RECEIVED_DATE",'YYYYMM')) = '202104'")

【问题讨论】:

你的错误是什么? 【参考方案1】:

我认为您没有正确使用引号。下面是一些如何在 whereRaw() 方法中为 SQL 函数使用引号的示例:

->whereRaw("tv_technicals.created_at BETWEEN DATE_SUB(candidates.pierce_time, INTERVAL 1 HOUR)
                            AND DATE_ADD(candidates.pierce_time, INTERVAL 1 HOUR)");

【讨论】:

以上是关于Postgresql 到 Laravel 雄辩的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 雄辩到 json

Laravel 雄辩不更新 JSON 列:数组到字符串的转换

Laravel 雄辩的 all() 方法给出错误“数组到字符串的转换”[关闭]

雄辩的关系,模型的链接(Laravel 5.4)

列表模型如何按 DOWN-VOTES 的数量排序到相关模型 - laravel,雄辩

laravel 雄辩 hasOneThrough 外键