web-dev-qa-db-fra.com

Créer des modèles à partir de la base de données dans Laravel 5

Est-il possible de générer des modèles à partir de la base de données dans Laravel 5? 

Le paquetage générateurs crée uniquement un modèle vide.

26
Santi Barbat

Je suis un peu en retard avec la réponse, mais peu importe:

Il existe une bibliothèque Eloquent Model Generator dont le but est de créer des classes de modèles Eloquent utilisant des tables de base de données comme source. Il génère non seulement un stub de classe, mais aussi des méthodes de relation, des docblocks pour les champs magiques, des propriétés supplémentaires, etc.

Il fournit une commande de console php artisan krlove:generate:model ClassName permettant de générer une classe par appel, mais vous pouvez créer votre propre commande pour appeler cette commande pour chaque table à partir de votre base de données.

24
Andrey Mischenko

Si vous utilisez MySQL et Laravel 5.1 ou une version ultérieure, vous pouvez utiliser php artisan code:models de ce paquet: reliese/laravel . Tout ce que vous devez faire c'est:

  1. composer require reliese/laravel
  2. Ajoutez le fournisseur de services à votre fichier config/app.phpReliese\Coders\CodersServiceProvider::class
  3. Publier le fichier de configuration avec php artisan vendor:publish --tag=reliese-models
  4. Assurez-vous que votre base de données est correctement configurée dans les fichiers config/database.php et .env.
  5. Et enfin, lancez la commande: php artisan code:models

Ce paquet va scanner votre base de données et créer tous les modèles pour vous. Si vous avez besoin de quelque chose de plus spécifique, vous pouvez personnaliser son fichier de configuration.

J'espère que cela t'aides :)

php artisan make:model Profile

Profil - le nom de votre table.

0
Bira