php - 如何在 laravel 中使用 postgresql 的 split_part?
问题描述
我想在 laravel 中使用split_part。我的代码就像,
$results = DB::table('zaiko')
->where('soukobango',$souko_bango_for_joining)
->join('syouhin1','zaiko.syouhinbango','=','syouhin1.bango')
->where('syouhin1.isphoto','is distinct from','1')
->select('syouhin1.bango',
'syouhin1.kokyakusyouhinbango',
'syouhin1.jouhou',
'syouhin1.tokuchou',
"SPLIT_PART('zaiko.datachar02', '|', 1) as test1")
->get();
但是,它给了我以下错误。
未定义的表:7 错误:缺少表“SPLIT_PART('zaiko”第 1 行:...ngo”,“syouhin1”。“jouhou”,“syouhin1”。“tokuchou”,“SPLIT_PAR... ^ (SQL: select "syouhin1"."bango", "syouhin1"."kokyakusyouhinbango", "syouhin1"."jouhou", "syouhin1"."tokuchou", "SPLIT_PART('zaiko"."datachar02', '|' , 1)" as "test1" from "zaiko" inner join "syouhin1" on "zaiko"."syouhinbango" = "syouhin1"."bango" 其中 "soukobango" = 1 和 "syouhin1"."isphoto" 不同于1)
但是,如果我删除带有 SPLIT_PART 的行,那么它会按预期工作。
解决方案
尝试使用原始选择:
->select(DB::raw("syouhin1.bango,
syouhin1.kokyakusyouhinbango,
syouhin1.jouhou,
syouhin1.tokuchou,
SPLIT_PART(zaiko.datachar02, '|', 1) AS test1"))
推荐阅读
- azure-data-explorer - 如何访问 kusto 表中特定行号和特定列号的值?
- mysql - MySQL 别名在 CASE 语句的 ELSE 部分失败(错误代码:1054。“字段列表”中的未知列“xxx”)
- python - 我可以在不创建新列表/数组的情况下展平数组吗?
- firebase - 如何在 swiftUI 和 firestore 中创建愿望清单功能
- verilog - verilog中的posedge只能在时钟上使用吗?
- media-queries - Google Apps 脚本是否支持媒体查询?
- c# - 为 foreach 获取 ObjectModel.ReadOnlyCollection
- git - git - 显示更改文件的文件名和文件大小?
- python-2.7 - Tkinter 删除放置在画布上的框架在一个画布上工作,但在另一个画布上无效
- react-native - 仅从 DateTimePickerModal 中提取月份和年份反应原生