У меня есть таблица в моей базе данных, которая включает столбец с меткой времени, допускающий значение NULL.
$table->timestamp('custom_timestamp')->nullable();
Когда строка в базе данных создается, этот столбец будет нулевым. Позже, когда пользователь сделает эту конкретную вещь, я хочу обновить этот столбец с отметкой времени, когда пользователь это сделал.
Мой вопрос: каков синтаксис для добавления пользовательской отметки времени в этот столбец?
Объяснение псевдокода:
$myObject->custom_timestamp = *AD THE CURRENT TIME*;
$myObject->save();
Обновлено: Если вы проголосовали против, казалось бы, законного вопроса, объясните, что вас беспокоит, в комментариях.






Вы можете сгенерировать метку времени следующим образом:
Углерод
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();
В этом случае лучше использовать
ON UPDATE CURRENT_TIMESTAMPна этом поле.