@MaxQw

Как объединить столбцы MYSQL в Laravel для дальнейшего сравнения?

Столбцы Mysql
name1 = Y-m-d
name2 = H:i:s

Нужно объединить столбцы name1+name2 в запросе к DB и сравнить с временем сервера date("Y-m-d H:i:s"), и если name1+name2 меньше, удалить строку.

Как будет выглядеть запрос?
  • Вопрос задан
  • 267 просмотров
Решения вопроса 1
Fernus
@Fernus
Техник - Механик :)
Как-то так наверное...чтобы получить записи по Вашему условию:

SELECT *
FROM `table`
WHERE
 UNIX_TIMESTAMP(STR_TO_DATE(CONCAT(`name1`, ' ', `name2`), '%Y-%m-%d %H:%i:%s')) < UNIX_TIMESTAMP();


На Laravel переведёшь?:)

Дополняю ответ...для Laravel:

// В случае с моделями как-то так:
$rs = Model::whereRaw("UNIX_TIMESTAMP(STR_TO_DATE(CONCAT(`name1`, ' ', `name2`), '%Y-%m-%d %H:%i:%s')) < UNIX_TIMESTAMP()")
->get();

// Через обычный его же ORM как-то так:
$rs = \DB::table('table')
->whereRaw("UNIX_TIMESTAMP(STR_TO_DATE(CONCAT(`name1`, ' ', `name2`), '%Y-%m-%d %H:%i:%s')) < UNIX_TIMESTAMP()")
->get();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Model::select(DB::raw('expression as field'))->where('field', '>', $val)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы