Понимание значения по умолчанию «create_at» в Laravel

В Laravel столбец «create_at» — это общее поле, используемое для хранения отметки времени создания записи в таблице базы данных. По умолчанию Laravel обеспечивает автоматическое управление временными метками для моделей Eloquent. В этой статье мы рассмотрим различные методы работы со значением по умолчанию «create_at» в Laravel, а также приведем примеры кода.

  1. Использование временных меток модели Eloquent:
    Модели Eloquent в Laravel имеют встроенную функцию для автоматического управления столбцами «created_at» и «updated_at». Чтобы использовать эту функцию, убедитесь, что ваша модель расширяет класс Illuminate\Database\Eloquent\Modelи определяет свойство $timestampsкак true. Вот пример:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
    public $timestamps = true;
}

При такой конфигурации всякий раз, когда вы создаете новую запись, Laravel автоматически устанавливает текущую временную метку в качестве значения по умолчанию для столбца «created_at».

  1. Настройка значения по умолчанию:
    Если вы хотите настроить значение по умолчанию для столбца «created_at», вы можете переопределить метод boot()в вашей модели Eloquent. Вот пример:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class YourModel extends Model
{
    protected static function boot()
    {
        parent::boot();
        static::creating(function ($model) {
            $model->created_at = Carbon::now()->format('Y-m-d H:i:s');
        });
    }
}

В этом примере мы используем событие creating, чтобы установить значение по умолчанию «created_at» для текущей отметки времени с помощью библиотеки Carbon.

  1. Установка значения по умолчанию вручную:
    Если вы предпочитаете вручную установить значение по умолчанию для столбца «created_at», вы можете сделать это при создании новой записи. Вот пример:
use App\Models\YourModel;
use Carbon\Carbon;
$yourModel = new YourModel;
$yourModel->created_at = Carbon::now()->format('Y-m-d H:i:s');
$yourModel->save();

В этом фрагменте кода мы вручную устанавливаем значение «created_at» на текущую временную метку с помощью библиотеки Carbon перед сохранением модели.

Понимание того, как работать со значением по умолчанию «create_at» в Laravel, необходимо для управления метками времени в таблицах базы данных. Мы исследовали три метода: использование временных меток модели Eloquent, настройку значения по умолчанию и установку значения по умолчанию вручную. Используя эти методы, вы можете эффективно обрабатывать столбец «create_at» и обеспечивать точное управление метками времени в ваших приложениях Laravel.