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

21 Авг 2019 в 07:05
229 +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
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 424 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир