php - update - laravel models folder
Laravel 5 Models Folder (3)
Tengo un directorio llamado models
dentro de la app/
donde coloco todas mis clases modelo. Ahora quiero cambiar el directorio donde el siguiente comando genera las clases generadas
php artisan make:model SomeModel
Encontré que debería ser:
php artisan make:model ModelFolder//SomeModel
No puedes y, si te estás inclinando hacia la versión del universo de Laravel, no deberías. Laravel 5 proporciona, y asume, una convención de nomenclatura de PSR-4 para todos sus archivos de clase. Esto significa que los modelos (y todas las clases) se deben colocar en función de su nombre de clase completo .
Cuando tu dices
php artisan make:model SomeModel
En realidad, está creando un modelo con el nombre completo de App/SomeModel
, por lo que el artisan
crea el siguiente archivo.
app/SomeModel.php
Si tú dijiste
php artisan make:model ''Test/SomeModel''
estarías creando un modelo con el nombre completo App/Test/SomeModel
, y Laravel crearía el siguiente archivo
app/Test/SomeModel.php
Entonces, es el nombre de clase completo de su modelo (espacio de nombres incluido) que determina dónde se encuentra el archivo de definición de clase.
Si desea crear Modelos manualmente en una carpeta específica. Ejemplo si desea crear info
modelo en la carpeta Models
. Crea un archivo llamado info.php
dentro de la carpeta Modelos que creaste antes. Aquí debe escribir código como este en info.php
<?php namespace App/Models;
use Illuminate/Database/Eloquent/Model;
class Info extends Model
{
// your code
protected $table = ''tb_users'';
}
Por supuesto, también puede utilizar el comando Artisan php artisan make:model "Models/Info"
Si desea llamar a esa Info
modelo, crea una vista
<?php
$users = App/Models/Info::all();
foreach ($users as $user) {
echo $user->name;
}
Mostrará todo el nombre de los usuarios