РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
74 of 1392 menu

Поле date

Поле date в Laravel используется для создания колонки с типом DATE в базе данных. Этот тип предназначен для хранения только даты без временной составляющей. В миграциях метод date вызывается на объекте схемы или blueprint. Он принимает имя колонки первым параметром и возвращает экземпляр класса ColumnDefinition для дополнительной настройки.

Синтаксис

<?php Schema::create($table, function (Blueprint $table) { $table->date($column); }); ?>

Пример

Давайте создадим таблицу 'articles' с полем 'published_at' типа date:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::create('articles', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->date('published_at'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('articles'); } }; ?>

Пример

Добавим поле date в существующую таблицу с использованием метода table:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::table('users', function (Blueprint $table) { $table->date('birth_date')->nullable(); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('birth_date'); }); } }; ?>

Пример с модификаторами

Создадим поле date с дополнительными модификаторами:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::create('events', function (Blueprint $table) { $table->id(); $table->string('name'); $table->date('start_date')->nullable()->default('2026-01-01'); $table->date('end_date')->nullable(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('events'); } }; ?>

Пример использования в модели

В модели Laravel поля date автоматически преобразуются в объекты Carbon:

<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model { protected $fillable = [ 'title', 'content', 'published_at', ]; protected $casts = [ 'published_at' => 'date', ]; } ?>

Пример работы с полем date

Получим все статьи, опубликованные после определённой даты:

<?php namespace App\Http\Controllers; use App\Models\Article; class ArticleController extends Controller { public function index() { $articles = Article::where('published_at', '>', '2026-01-01')->get(); foreach ($articles as $article) { echo $article->title . ': ' . $article->published_at->format('d.m.Y'); } } } ?>

Результат выполнения кода:

"Article 1: 15.01.2026" "Article 3: 20.01.2026"

Пример с текущей датой

Установим значение поля date как текущую дату с помощью метода useCurrent:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up() { Schema::table('orders', function (Blueprint $table) { $table->date('order_date')->useCurrent(); }); } public function down() { Schema::table('orders', function (Blueprint $table) { $table->dropColumn('order_date'); }); } }; ?>

Смотрите также

  • поле dateTime,
    которое хранит дату и время
  • поле timestamp,
    которое хранит временную метку с автоматическим обновлением
  • поле time,
    которое хранит только время
  • модификатор useCurrent,
    который устанавливает текущую дату по умолчанию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить