Подтвердить что ты не робот

Папка моделей Laravel 5

У меня есть каталог под названием models внутри app/, где я помещаю все мои классы моделей. Теперь я хочу изменить каталог, в котором следующая команда выводит сгенерированные классы

php artisan make:model SomeModel
4b9b3361

Ответ 1

Вы не можете и, если вы используете версию вселенной Laravel, вы не должны. Laravel 5 предоставляет и предполагает, что соглашение об именах PSR-4 для всех его файлов классов. Это означает, что модели (и все классы) должны размещаться на основе их полного имени класса.

Когда вы говорите

php artisan make:model SomeModel

Фактически вы создаете модель с полным именем App\SomeModel, поэтому artisan создает следующий файл.

app/SomeModel.php

Если вы сказали

php artisan make:model 'Test\SomeModel'

вы должны создать модель с полным именем App\Test\SomeModel, а Laravel создаст следующий файл

app/Test/SomeModel.php

Итак, его полное имя класса вашей модели (включая пространство имен), определяющее, где находится файл определения класса.

Ответ 2

Я нашел, что это должно быть:

php artisan make:model ModelFolder\\SomeModel

Ответ 3

Если вы хотите создать Модели вручную в определенной папке. Пример, если вы хотите создать модель info в папку Models. Создайте файл с именем info.php внутри папки Модели, созданные ранее. Здесь вы должны написать такой код в info.php

<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Info extends Model
{
    // your code
    protected $table = 'tb_users';
}

Конечно, вы также можете использовать команду Artisan php artisan make:model "Models\Info"

Если вы хотите вызвать эту модель info, вы создадите представление

<?php
$users = App\Models\Info::all();

foreach ($users as $user) {
    echo $user->name;
}

Отобразится все имя пользователя

Ответ 4

Вы также можете посмотреть файл www/yourfolder/database/php, созданный при создании модели.

Ответ 6

Посмотрите это, используя этот учебник на носителе https://medium.com/@codingcave/organizing-your-laravel-models-6b327db182f9. Это лучшее решение для расширения ModelMakeCommand так что вместо php artisan make:model 'Test\SomeModel' вы запустите php artisan make:model SomeModel и вы все равно получите пространство имен 'Test\SomeModel' с SomeModel.php в 'Test' папка