J'utilise Laravel 5. J'ai créé un répertoire /Models
dans le répertoire /App
, mais lors de la génération des modèles à l'aide d'Artisan, il les stocke dans le répertoire App
.
J'ai parcouru la documentation pour essayer de trouver comment spécifier un nom de chemin différent, mais en vain:
php artisan make:model TestModel
Comment demander à artisan
de sauvegarder le modèle dans un répertoire spécifique?
Si vous souhaitez spécifier le chemin lors de la génération d'un modèle, vous pouvez utiliser le package Laravel Generators Package . Vous pouvez ensuite spécifier l'emplacement à l'aide de l'option --path
comme suit:
php artisan generate:model TestModel --path=my/custom/location
Créez un répertoire Models ou le nom de votre choix, placez-le dans le répertoire app. La structure du répertoire devrait ressembler à
laravel-project
/app
/Console
/Events
/Exceptions
/Http
/Jobs
/Listeners
/Provider
/Models
Ensuite, il vous suffit de taper une commande artisan pour créer des modèles dans le répertoire Modèles.
php artisan make:model Models/ModelName
Après avoir créé des modèles, votre espace de noms à l'intérieur des classes de modèle sera
namespace app-name\Models\ModelName
Vous pouvez accéder à ce modèle dans votre contrôleur
use app-name\Models\ModelName
Il est possible de générer un modèle dans un sous-répertoire à l'aide de générateurs Artisan intégrés en "évitant" les barres obliques inverses dans le FQN, comme suit:
php artisan model:make App\\Models\\Foo
php artisan make:model App\\Models\\Foo
(La différence entre 5.2 et 5.3 a été soulignée par @Khaled Rahman , merci!)
Les commandes ci-dessus créeraient un fichier Foo.php
dans le répertoire app/Models et mettront à jour l'espace de noms en conséquence.
J'espère que cela pourra aider.
Vous pouvez créer comme ci-dessous
> php artisan make:model "Models\userModel"
ici Modèles est le nom du répertoire et userModel est le nom du modèle
Utilisez "(guillemets doubles) ou '(guillemets simples) pour créer un modèle
Cela fonctionne pour la version actuelle de Laravel, 5.6.28
, sous Windows 7.
php artisan make:model App\Models\NewModel
Remarque: N'utilisez pas les doubles échappements (
'\\'
)
Ceci génère le fichier App\Models\NewModel.php
comme suit
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class NewModel extends Model
{
//
}
Chemin du contrôleur (ApI/Admin)
Chemin du modèle (modèle/administrateur)
fabrication artisanale php: contrôleur API/Admin/PlanController --model = Model/Admin/Plan --resource