Laravel Artisan Generator Command: The make:model Command

2 min read

The make:model command is used to generate new Eloquent model classes. It requires a name to be supplied; this name will become the name of the generated class and created file. A migration file can also be generated for the model by setting the --migration flag (or by using the -m shortcut). Newly created classes are stored in the app/ directory.

This command will not overwrite any existing model classes that have the same name. An error stating Model already exists! will be displayed instead.

The following examples demonstrate how to call the make:model command.

The following would create a new model class for Drink:

1# Create a new Drink model.
2php artisan make:model Drink

the resulting class would look similar to the following:

3namespace App;
5use Illuminate\Database\Eloquent\Model;
7class Drink extends Model
9 //

The following examples would also generate a migration for the model:

1# Create a new Drink model and migration.
2php artisan make:model Drink -m

The previous example is equivalent to the following series of commands:

1php artisan make:model Drink
2php artisan make:migration create_drinks_table --create=drinks

The make:model command is also capable of generated namespaced classes. Accomplish this by separating namespace sections using the \ when supplying the model name. A nested directory will be created and the correct namespace will be set on the generated class.

Thanks for taking the time to read this post! If you found this article useful and want to help support more work like this, please consider sponsoring my work on GitHub, or by checking out some merch.

 Sponsor on GitHub  Shop Merch