Команда make:model
Команда make:model создаёт новый класс модели Eloquent в директории app/Models. По умолчанию модель наследуется от базового класса Model и содержит минимальную структуру. Команда поддерживает множество опций для генерации сопутствующих файлов: миграции, фабрики, сидеры, контроллеры и другие.
Синтаксис
php artisan make:model ModelName [options]
Обязательным аргументом является имя модели в единственном числе и в формате CamelCase. По умолчанию модель создаётся в app/Models, но если указать имя с префиксом, например Shop/Product, то файл будет создан в соответствующей поддиректории.
Пример
Создадим простую модель Article без дополнительных опций:
php artisan make:model Article
Результат выполнения команды:
"Model created successfully."
Содержимое созданного файла:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
//
}
?>
Пример
Создадим модель User с автоматической генерацией миграции и фабрики:
php artisan make:model User --migration --factory
// или сокращённая версия:
php artisan make:model User -m -f
Команда создаст три файла: модель, миграцию и фабрику. Миграция будет автоматически связана с моделью через соглашение об именовании таблиц.
Пример
Создадим полный набор файлов для модели Category, включая контроллер, миграцию, фабрику и сидер:
php artisan make:model Category --all
Опция --all генерирует все сопутствующие файлы: миграцию, фабрику, сидер, контроллер и запросы. Это удобно для быстрого создания полноценного CRUD.
Пример
Создадим модель с указанием конкретного пути и пользовательского пространства имён:
php artisan make:model Admin/Role
Файл будет создан по пути app/Models/Admin/Role.php с пространством имён App\Models\Admin.
Пример
Создадим модель с явным указанием контроллера, который будет использовать ресурсный стиль:
php artisan make:model Product --controller
php artisan make:model Product -c
Будет создан контроллер ProductController в директории app/Http/Controllers. Контроллер будет содержать пустые методы для стандартных операций.
Смотрите также
-
команда
make:controller,
которая создаёт новый контроллер -
команда
make:migration,
которая создаёт новый файл миграции -
команда
make:factory,
которая создаёт фабрику для генерации данных -
команда
make:seeder,
которая создаёт сидер для наполнения таблиц