Как получить список всех моделей в laravel? Всем привет. Задача в том, что нужно получить массив всех созданных моделей.
Может быть в laravel есть такой метод, который возвращает список всех существующих моделей в проекте?
Если нет, то например, если модели находятся прямо в папке app/ то как перебрать все файлы с большой буквы в папке app, при этом не заходя в субдиректории? Или может быть как то можно перебрать все классы, которые прямые наследники для App?
Заранее всем спасибо.

21 Авг 2019 в 07:05
248 +1
0
Ответы
1

В Laravel нет встроенного метода для получения списка всех моделей в проекте. Однако вы можете использовать следующий код для получения списка всех моделей из определенной директории (например, из папки app/Models):

use Illuminate\Support\Facades\File;
$models = [];
$files = File::files(app_path('Models'));
foreach ($files as $file) {
$className = pathinfo($file, PATHINFO_FILENAME);
$models[] = 'App\\Models\\' . $className;
}
dd($models);

Этот код найдет все файлы в папке app/Models и добавит их имена в массив моделей. Вы можете дальше доработать этот код, например, чтобы учитывать только файлы с определенным префиксом, или чтобы получить только классы, которые являются наследниками от конкретного класса.

Надеюсь, это поможет вам решить вашу задачу. Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир