Как использовать split_part из postgresql внутри laravel? - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу использовать split_part внутри laravel. Мой код выглядит так:

$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 ОШИБКА: отсутствует запись предложения FROM для таблицы "SPLIT_PART ('zaiko" LINE 1: ... n go "," syouhin1 "." Jouhou "," syouhin1 " "." tokuchou "," SPLIT_PAR ... ^ (SQL: выберите "syouhin1". "ban go", "syouhin1". "kokyakusyouhinban go", "syouhin1". "jouhou", "syouhin1" "." tokuchou "," SPLIT_PART ('zaiko "." datachar02', '|', 1) "как" test1 "из" zaiko "внутреннего соединения" syouhin1 "на" zaiko "." syouhinban go "=" syouhin1 "." ban go ", где" soukoban go "= 1 и" syouhin1 "." isphoto "отличается от 1)

Но если я удалю строку с SPLIT_PART, тогда она работает как положено.

1 Ответ

2 голосов
/ 17 февраля 2020

Попробуйте использовать необработанный выбор:

->select(DB::raw("syouhin1.bango,
                  syouhin1.kokyakusyouhinbango,
                  syouhin1.jouhou,
                  syouhin1.tokuchou,
                  SPLIT_PART(zaiko.datachar02, '|', 1) AS test1"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...