Я использую Laravel 5. Я создал каталог /Models
каталоге /App
, но при создании моделей с помощью Artisan он хранит их в каталоге App
.
Я искал документацию, чтобы попытаться найти, как указать другой путь, но безрезультатно:
php artisan make:model TestModel
Как я могу дать указание artisan
сохранить модель в определенном каталоге?
Если вы хотите указать путь при создании модели, вы можете использовать пакет генераторов Laravel . Затем вы можете указать местоположение с --path
опции --path
следующим образом:
php artisan generate:model TestModel --path=my/custom/location
Создайте каталог моделей или все, что вы хотите назвать его, поместите его в каталог приложения. Структура каталога должна выглядеть так:
laravel-project /app /Console /Events /Exceptions /Http /Jobs /Listeners /Provider /Models
Тогда вам просто нужно ввести команду artisan для создания моделей в каталоге моделей
php artisan make:model Models/ModelName
После создания моделей ваше пространство имен внутри классов модели будет
namespace app-name\Models\ModelName
Вы можете получить доступ к этой модели внутри вашего контроллера
use app-name\Models\ModelName
Можно создать модель в подкаталоге с использованием встроенных генераторов Artisan путем «ускорения» обратных косых черт в FQN, например:
php artisan model:make App\\Models\\Foo
php artisan make:model App\\Models\\Foo
(разница между 5.2 и 5.3 указала @ Халед Рахман , спасибо!)
Команды выше создавали Foo.php
файл Foo.php
каталоге app / Models и соответственно обновляли пространство имен.
Надеюсь, это поможет.
В Laravel 5.4 вы можете создавать с помощью
> php artisan make:model "Models\userModel"
здесь Модели – это имя каталога, а userModel – это имя модели
Используйте "(двойные кавычки) или" (одиночные кавычки) для создания модели