Eloquent возвращает экземпляры коллекции, поэтому одним из способов было бы вызвать map()
и получить, чтобы они возвращали соответствующие объекты для каждого элемента, например, если это файл, просто возвращайте файл, тогда как если это папка, заполните новую * 1002. * экземпляр и вернуть его.
Или у вас могут быть File
и Folder
модели, работающие на одной и той же таблице, с глобальными областями действия, используемыми для ограничения набора запросов по типу, затем вызовите all()
onоба из них и объединить их.
Но я думаю, что лучшее, что можно с ними сделать, - это сделать их единой моделью, которая ведет себя по-разному в зависимости от типа. Поместите любую другую функциональность в методы модели, чтобы ее можно было обрабатывать одинаково независимо от типа, вызывая эти методы. Я думаю, что это более безопасный вариант, потому что вы делаете ваши модели полиморфными - к ним можно обращаться одинаково, независимо от типа.