J'ai un répertoire appelé models
à l'intérieur de app/
où je place toutes mes classes de modèle. Maintenant, je veux changer le répertoire où la commande suivante affiche les classes générées
php artisan make:model SomeModel
Vous ne pouvez pas et, si vous vous conformez à la version de Laravel de l'univers, vous ne devriez pas. Laravel 5 fournit, et suppose, une convention de nommage PSR-4 pour tous ses fichiers de classe. Cela signifie que les modèles (et toutes les classes) doivent être placés en fonction de leur nom complet de la classe .
Quand tu dis
php artisan make:model SomeModel
En fait, vous créez un modèle avec le nom complet App\SomeModel
. Ainsi, artisan
crée le fichier suivant.
app/SomeModel.php
Si vous avez dit
php artisan make:model 'Test\SomeModel'
vous créez un modèle avec le nom complet App\Test\SomeModel
et Laravel crée le fichier suivant
app/Test/SomeModel.php
Ainsi, le nom de classe complet de votre modèle (espace de noms inclus) détermine l'emplacement du fichier de définition de classe.
J'ai trouvé que ça devrait être:
php artisan make:model ModelFolder\\SomeModel
Si vous souhaitez créer des modèles manuellement sur un dossier spécifique. Exemple si vous voulez créer le modèle info
into dans le dossier Models
. Créez un fichier nommé info.php
dans le dossier Modèles que vous avez créés auparavant. Voici que vous devriez écrire un code comme celui-ci dans info.php
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Info extends Model
{
// your code
protected $table = 'tb_users';
}
Bien sûr, vous pouvez aussi utiliser la commande Artisan php artisan make:model "Models\Info"
Si vous souhaitez appeler ce modèle Info
, vous créez une vue.
<?php
$users = App\Models\Info::all();
foreach ($users as $user) {
echo $user->name;
}
Il affichera tous les noms des utilisateurs
Vous pouvez également consulter le fichier www/votre répertoire/database/php créé lors de la création du modèle.