wake-up-neo.com

Wie weise ich den Handwerker an, das Modell in einem bestimmten Verzeichnis zu speichern?

Ich verwende Laravel 5. Ich habe ein /Models-Verzeichnis unter dem /App-Verzeichnis erstellt, aber wenn Sie die Modelle mit Artisan generieren, werden sie unter dem App-Verzeichnis gespeichert.

Ich habe die Dokumentation durchsucht, um zu versuchen, einen anderen Pfadnamen anzugeben, aber ohne Erfolg:

php artisan make:model TestModel

Wie weise ich artisan an, das Modell in einem bestimmten Verzeichnis zu speichern?

31
James Jeffery

Wenn Sie den Pfad beim Generieren eines Modells angeben möchten, können Sie das Laravel Generators Package verwenden. Sie können den Speicherort dann mit der --path-Option wie folgt angeben:

php artisan generate:model TestModel --path=my/custom/location
8
Bogdan

Erstellen Sie ein Models-Verzeichnis oder legen Sie es im App-Verzeichnis ab. Die Verzeichnisstruktur sollte so aussehen

laravel-project
     /app
        /Console
        /Events
        /Exceptions
        /Http
        /Jobs
        /Listeners
        /Provider
       /Models

Dann müssen Sie nur noch den artisan-Befehl eingeben, um Modelle im Models-Verzeichnis zu erstellen

php artisan make:model Models/ModelName 

Nach dem Erstellen von Modellen wird Ihr Namespace innerhalb der Modellklassen sein

namespace app-name\Models\ModelName

Sie können auf dieses Modell in Ihrem Controller zugreifen

use app-name\Models\ModelName
95
Mansoor Akhtar

Für diejenigen, die Laravel> = 5.2 verwenden

Es ist möglich, ein Modell in einem Unterverzeichnis mit integrierten Artisan-Generatoren zu generieren, indem die umgekehrten Schrägstriche im FQN "entkommen" werden, z.

Laravel 5.2

php artisan model:make App\\Models\\Foo

Laravel 5.3

php artisan make:model App\\Models\\Foo

(Der Unterschied zwischen 5.2 und 5.3 weist auf @Khaled Rahman hin, danke!)

Die obigen Befehle würden eine Foo.php-Datei im Verzeichnis app/Models erstellen und den Namespace entsprechend aktualisieren.

Hoffentlich hilft das.

20
mmieluch

In Laravel 5.4 oder höher

Sie können wie unten erstellen

 > php artisan make:model "Models\userModel"

hier Models ist Verzeichnisname und userModel ist Modellname

Verwenden Sie "(doppelte Anführungszeichen) oder '(einfache Anführungszeichen), um ein Modell zu erstellen

16
Jazzzzzz

Dies funktioniert für die aktuelle Laravel-Version 5.6.28 unter Windows 7

php artisan make:model App\Models\NewModel

Hinweis: Keine doppelten Escapezeichen verwenden ('\\')

Dies erzeugt die Datei App\Models\NewModel.php wie folgt

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class NewModel extends Model
{
    //
}
0
realtebo

Controller-Pfad (ApI/Admin)

Modellpfad (Modell/Admin)

pHP Handwerker machen: Controller API/Admin/PlanController --model = Model/Admin/Plan --resource

0
kush