WhereRaw Laravel с переменной - PullRequest
1 голос
/ 27 марта 2019

Я пытаюсь выполнить этот запрос, но я получил ошибку (неправильно сформированные символы UTF-8, возможно, неправильно закодированы):

DB::table('my_table')->select(DB::raw("id"))
    ->whereRaw('UPPER(name)','=', $upper_name)
    ->pluck('id')->first();

Я пытаюсь добавить функцию UPPER sql в запрос. С прямым sql запрос должен быть:

select * from my_table
where UPPER(name) = 'HELLO'

Где $upper_name = ПРИВЕТ.

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Самый простой способ сделать это. Надеюсь, вам поможет

DB::table('my_table')->select('id')
    ->where(DB::raw("UCASE(name)"), $upper_name) 
    ->first();

UCASE - преобразовать текст в верхний регистр

0 голосов
/ 27 марта 2019

Бах ... Я понял:

DB::table('my_table')->select(DB::raw("id"))
    ->whereRaw('UPPER(name) = ?', $upper_name)
    ->pluck('id')->first();
...