В этой статье блога мы рассмотрим различные методы и приемы работы с DateTime и CURRENT_TIMESTAMP в схеме Laravel Capsule Schema. Laravel Capsule — это легкая библиотека базы данных, которая позволяет вам работать с необработанными SQL-запросами в ваших приложениях Laravel. Мы рассмотрим различные подходы к обработке полей DateTime и способы эффективного использования функции CURRENT_TIMESTAMP. Итак, приступим!
- Использование метода
timestamp.
Методtimestampв Laravel Capsule позволяет определить столбец как поле DateTime. Вот пример создания таблицы со столбцомcreated_at:
Capsule::schema()->create('users', function ($table) {
$table->timestamp('created_at')->default(Capsule::raw('CURRENT_TIMESTAMP'));
});
В этом примере мы устанавливаем значение по умолчанию для столбца created_atна текущую временную метку с помощью функции CURRENT_TIMESTAMP.
- Использование метода
defaultTo.
Другой подход заключается в использовании методаdefaultToдля установки значения по умолчанию для столбца DateTime равнымCURRENT_TIMESTAMP:
Capsule::schema()->create('users', function ($table) {
$table->dateTime('created_at')->defaultTo(Capsule::raw('CURRENT_TIMESTAMP'));
});
Метод defaultToустанавливает значение столбца по умолчанию для предоставленного выражения, которое в данном случае равно CURRENT_TIMESTAMP.
- Обновление существующих записей.
Чтобы обновить существующие записи с использованием текущей временной метки, вы можете использовать методupdateвместе с функциейCURRENT_TIMESTAMP:
Capsule::table('users')->update(['updated_at' => Capsule::raw('CURRENT_TIMESTAMP')]);
В этом примере мы обновляем столбец updated_atтаблицы usersтекущей меткой времени с помощью функции CURRENT_TIMESTAMP.
- Получение записей с определенным диапазоном дат.
Чтобы получить записи в определенном диапазоне дат, вы можете использовать методwhereBetween:
$startDate = '2022-01-01';
$endDate = '2022-12-31';
$users = Capsule::table('users')
->whereBetween('created_at', [$startDate, $endDate])
->get();
В этом примере мы извлекаем всех пользователей, значение created_atкоторых попадает между начальной и конечной датами.
Работа с DateTime и CURRENT_TIMESTAMP в схеме Laravel Capsule Schema проста и обеспечивает гибкость в управлении данными даты и времени в вашей базе данных. Используя такие методы, как timestamp, defaultToи update, вы можете эффективно обрабатывать операции, связанные с датами. Не забудьте использовать функцию CURRENT_TIMESTAMPдля установки значений по умолчанию или обновления существующих записей. С помощью этих методов вы можете уверенно управлять полями DateTime в своих приложениях на основе схемы Laravel Capsule Schema.