Codeigniter Query Builder - поиск количества записей с определенной даты не работает - PullRequest
0 голосов
/ 13 апреля 2019

В рамках codeigntier у меня есть следующее:

echo $this->db->where('FROM_UNIXTIME(`last_login`) >=','NOW() - INTERVAL 1 DAY')->from('users')->count_all_results();

Результат выше: 0

Я использовал print_r ($ this-> db-> last_query ()); чтобы получить текущую строку sql, которая выполняется, и она выглядит следующим образом:

 SELECT COUNT( * ) AS  `numrows` 
 FROM  `users` 
 WHERE FROM_UNIXTIME(  `last_login` ) >= NOW( ) - INTERVAL 1 
 DAY

Когда я запускаю его с помощью mysql, я получаю правильный результат: 1.

Я предполагаю, что побег работает сейчас или что-то, но не может понять это. Есть идеи?

==== Новое обновление.

Извините, CI3 выплевывает это:

SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= 'NOW() - INTERVAL 1 DAY'

Выше выдает 0, когда я запускаю его в mysql. Когда я использую ниже, это работает:

SELECT COUNT(*) AS `numrows`
FROM `users`
WHERE FROM_UNIXTIME(`last_login`) >= NOW() - INTERVAL 1 DAY

Итак, это два маленьких апострофа. Как я могу это исправить?

1 Ответ

0 голосов
/ 13 апреля 2019

Я изменил утверждение на следующее, и оно сработало:

$this->db->where("FROM_UNIXTIME(`last_login`) >= NOW() - INTERVAL 1 DAY")->from('users')->count_all_results();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...