#mysql #laravel #eloquent
#mysql #laravel #красноречивый
Вопрос:
->where([
'er.id_user_request_to' => $nIdUser
])
->where(DB::raw('case WHEN ge.id_user IS NOT NULL THEN ge.id_user = '.$nIdUser.' ELSE 0 END'))
попытался напечатать запрос, используя следующий код
$qry = vsprintf(str_replace(array('%', '?'), array('%%', '"%s"'), $oEvents->toSql()), $oEvents->getBindings());
dd($qry);
Это выводит запрос типа
WHERE
(
`er`.`id_user_request_to` = "6")
AND(
CASE WHEN ge.id_user IS NOT NULL THEN ge.id_user = 6 ELSE 0 END
)
) **IS NULL**
Не получение того, откуда он добавляет, РАВНО НУЛЮ в конце запроса
Комментарии:
1. можете ли вы предоставить весь код вместо только условия where.
Ответ №1:
Замените ваш DB::raw на whereRaw
->where([
'er.id_user_request_to' => $nIdUser
])
->whereRaw(('case WHEN ge.id_user IS NOT NULL THEN ge.id_user = '.$nIdUser.' ELSE 0 END'))
Я надеюсь, что это поможет
Комментарии:
1. ТЫ МОЙ ГЕРОЙ, СПАС МОЮ ЖИЗНЬ. СПАСИБО, ДОРОГОЙ ВИПУЛ ПРАДЖАПАТИ 🙂