Папка Моделей Laravel 5
у меня есть каталог с именем models
внутри app/
где я размещаю все мои классы модели. Теперь я хочу изменить каталог, в котором следующая команда выводит сгенерированные классы
php artisan make:model SomeModel
3 ответов
вы не можете и, если вы рубите к версии вселенной 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
Итак, полное имя класса вашей модели (включенное пространство имен), которое определяет, где находится файл определения класса.
если вы хотите создавать модели вручную в определенной папке. Например, если вы хотите создать модель 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;
}
он будет отображать все имена пользователей