Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmEqMdM 163 of 252 menu
◀ ▶

Модель вместе с миграцией в Laravel

Модель Eloquent работает с таблицей в базе данных. Чтобы таблица появилась, нужна миграция: файл, который описывает структуру и применяется командой migrate. Обычно модель и миграцию создают по отдельности - двумя командами Artisan.

На практике удобнее сделать оба файла за один раз. Так меньше шанс забыть миграцию или назвать таблицу иначе, чем ожидает модель. Для этого у make:model есть флаг -m.

Как устроены миграции, как задавать колонки и запускать их на базе, разобрано в разделе «Миграции». Здесь мы только свяжем создание модели с заготовкой миграции одной командой.

Создадим модель Post вместе с миграцией:

php artisan make:model Post -m

Появится класс модели в app/Models/Post.php и файл миграции в database/migrations/. Имя миграции фреймворк подберёт сам - обычно create_posts_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(): void { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('posts'); } }; ?>

В миграции пока только id и timestamps - как при обычном make:migration. Колонки добавляют вручную, затем выполняют php artisan migrate. После этого модель уже может работать с таблицей posts.

С помощью Artisan сгенерируйте модель City вместе с миграцией. Откройте созданный файл миграции и посмотрите, какое имя таблицы в нём указано.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить