@yativ_sobb

Ошибка в запросе к базе данных?

Пишет что нет такого столбца. ?

$model = AdwertClients::with(['adwert'])->select('*', \DB::raw('count(id) as ind_count, (SELECT COUNT(id) FROM adwert_clients WHERE status = 0) as no_confirmed, (SELECT COUNT(id) FROM adwert_clients WHERE status = 2) as confirmed, (SELECT COUNT(id) FROM adwert_clients WHERE status = 1) as not_approved'))->where([
                    'user_id' => Auth::user()->id,
                    'adwert_id' => $id,
                ]);
            if($modelAdwert != []){
                $model = $model->where(
                    'DATE(created_at)','>=',"DATE(DATE_ADD(created_at, INTERVAL 7 DAY))" 
                );
            }


Column not found: 1054 Unknown column 'DATE(created_at)' in 'where clause' (SQL: select *, count(id) as ind_count, (SELECT COUNT(id) FROM adwert_clients WHERE status = 0) as no_confirmed, (SELECT COUNT(id) FROM adwert_clients WHERE status = 2) as confirmed, (SELECT COUNT(id) FROM adwert_clients WHERE status = 1) as not_approved from `adwert_clients` where (`user_id` = 1 and `adwert_id` = 27) and `DATE(created_at)` >= DATE(DATE_ADD(created_at, INTERVAL 7 DAY)) group by `adwert_id`)
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
@vanillathunder
$model = $model->whereRaw(
                    'DATE(created_at) >= DATE(DATE_ADD(created_at, INTERVAL 7 DAY))" 
                );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
t-alexashka
@t-alexashka
Сразу пишу legacy код
Тут проблема в том что он ваш 'DATE(created_at)' подсовывает не функцией а строкой:
... and `DATE(created_at)` >= ...
к сожалению не силен в laravel решить не смогу, но хоть наводку вам дал :)
Ответ написан
Комментировать
v_decadence
@v_decadence
Оберните 'DATE(created_at)' в DB::raw.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект
25 нояб. 2024, в 18:33
10000 руб./за проект