Как я могу дать указание ремесленнику сохранить модель в конкретном каталоге?
Я использую Laravel 5. Я создал каталог /Models
в каталоге /App
, но при создании моделей с помощью Artisan он хранит их в каталоге App
.
Я искал документацию, чтобы попытаться найти, как указать другое имя пути, но безрезультатно:
php artisan make:model TestModel
Как мне указать artisan
сохранить модель в определенном каталоге?
Ответы
Ответ 1
Если вы хотите указать путь при создании модели, вы можете использовать Пакет генераторов Laravel. Затем вы можете указать местоположение с помощью параметра --path
следующим образом:
php artisan generate:model TestModel --path=my/custom/location
Ответ 2
Создайте каталог моделей или все, что вы хотите назвать его, поместите его в каталог приложения. Структура Directory должна выглядеть как
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
Ответ 3
Для тех, кто использует Laravel >= 5.2
Можно создать модель в подкаталоге с использованием встроенных генераторов Artisan путем "экранирования" обратных косых черт в FQN, например:
Laravel 5.2
php artisan model:make App\\Models\\Foo
Laravel 5.3
php artisan make:model App\\Models\\Foo
(разница между 5.2 и 5.3 указана @Khhal Rahman, спасибо!)
Команды выше создавали бы файл Foo.php
в каталоге app/Models и соответственно обновляли пространство имен.
Надеюсь, что это поможет.
Ответ 4
В Laravel 5.4 вы можете создать с помощью
> php artisan make:model "Models\userModel"
здесь Модели - это имя каталога и userModel - это имя модели
Используйте "(двойные кавычки) или" (одиночные кавычки) для создания модели