Сохранение пользовательского столбца метки времени в БД после создания строки - PullRequest
0 голосов
/ 17 октября 2018

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

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

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

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

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

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

РЕДАКТИРОВАТЬ: Если вы отрицаете, казалось бы, законный вопрос, пожалуйста, объясните свои проблемы в комментариях

Ответы [ 3 ]

0 голосов
/ 17 октября 2018

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

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

или

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

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

use Carbon\Carbon;

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

$ composer require nesbot/carbon

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

0 голосов
/ 17 октября 2018

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

use Carbon\Carbon;
$now = Carbon::now();
$myObject->custom_timestamp = $now; // 2018-10-16 22:02:28
$myObject->save();
0 голосов
/ 17 октября 2018

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

Углерод

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

Eloquent

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