Laravel Eloquent не может сравнить даты в запросе - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть этот запрос для Eloquent, и по какой-то причине он, похоже, игнорирует мое последнее утверждение только о датах возврата, которые равны или превышают эту дату.

$searchCriteriaArray - это массив ключевых слов Iя ищу на основе (это работает)

$searchDate is the дата, по которой я фильтрую (это не работает)

вот мой запрос

$pool =User::select('id', 'email', 'updated_at', 'phone_number', 'headline','summary')
                    ->where(function ($query) use ($searchCriteriaArray){
                        for($i =0; $i < count($searchCriteriaArray); $i++){
                            $query->orwhere('headline', 'like', '%' . $searchCriteriaArray[$i] . '%' );
                        }
                    })->orWhere(function ($query) use ($searchCriteriaArray){
                        for($i =0; $i < count($searchCriteriaArray); $i++){
                            $query->orwhere('summary', 'like', '%' . $searchCriteriaArray[$i] . '%' );
                        }
                    })->where('updated_at', '>= ',$searchDate)
                    ->orderBy('updated_at', 'desc')
                    ->paginate(50);

Я посмотрелкак и некоторые другие сообщения, включая Laravel Eloquent сравнить дату из поля даты и времени .Однако это не решило мою проблему.Почему Eloquent игнорирует мое последнее утверждение where и как мне это исправить?

1 Ответ

0 голосов
/ 26 апреля 2018

Кто-то опубликовал ответ, а затем удалил его.Мне нужно было добавить эту строку

 ->where(function ($query) use ($searchDate){
                        $query->orwhere('updated_at', '>=', $searchDate);
                    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...