Сохранить столбец пользовательской метки времени в базу данных после создания строки

У меня есть таблица в моей базе данных, которая включает столбец с меткой времени, допускающий значение NULL.

$table->timestamp('custom_timestamp')->nullable();

Когда строка в базе данных создается, этот столбец будет нулевым. Позже, когда пользователь сделает эту конкретную вещь, я хочу обновить этот столбец с отметкой времени, когда пользователь это сделал.

Мой вопрос: каков синтаксис для добавления пользовательской отметки времени в этот столбец?

Объяснение псевдокода:

$myObject->custom_timestamp = *AD THE CURRENT TIME*;
$myObject->save();

Обновлено: Если вы проголосовали против, казалось бы, законного вопроса, объясните, что вас беспокоит, в комментариях.

В этом случае лучше использовать ON UPDATE CURRENT_TIMESTAMP на этом поле.

emix 17.10.2018 09:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
141
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете сгенерировать метку времени следующим образом:

Углерод

use Carbon\Carbon;
$myObject->custom_timestamp = Carbon::now()->toDateTimeString();

Красноречивый

$myObject->custom_timestamp = $myObject->freshTimestampString();

Вы можете использовать Углеродная библиотека для проблемы, связанной с датой и временем. Если вы хотите установить текущее время действия пользователя, сделайте следующее.

$object->custom_timestamp = Carbon::now();
$object->save();

Или

$object->update(['custom_timestamp' => Carbon::now() ]);

Чтобы использовать Carbon в своем коде, добавьте эту строку после <?php

use Carbon\Carbon;

Если Carbon еще не присутствует в вашем проекте, добавьте библиотеку, выполнив следующую команду:

$ composer require nesbot/carbon

Вам не нужно использовать эту библиотеку только для этой задачи, но мне очень нравится эта мощная библиотека, и я рекомендую ее.

используйте углерод laravel. вы также можете отформатировать дату, которую хотите сохранить. подробнее здесь: углерод

use Carbon\Carbon;
$now = Carbon::now();
$myObject->custom_timestamp = $now; // 2018-10-16 22:02:28
$myObject->save();

Другие вопросы по теме