Если я сделаю это:
$obj = factory(Object::class)->make();
collect($obj);
Мне возвращается коллекция типа:
Illuminate\Support\Collection
Laravel также позволяет вам определять свои собственные коллекции с их конкретными методами.В модели вы делаете:
public function newCollection(array $models = [])
{
return new CustomCollection($models);
}
и делаете свою CustomCollection, начиная с этого, в файле CustomCollection:
class CustomCollection extends Collection
{
Мне интересно, как я могу вернутьколлекция типа:
Illuminate\Database\Eloquent\Collection
или, в случае создания моей собственной пользовательской коллекции, как я могу вернуть коллекцию типа:
App\Models\CustomCollection
Я хотел бы сделать этос помощником collect () или любым другим способом, когда я не обращаюсь к базе данных в целях написания тестов PHPUnit.
==========
РЕДАКТИРОВАТЬ: IЯ использую фабрику (Object :: class) -> make () для подмены Eloquent объектов, которые я пытался свернуть в коллекции.
Если вы просто делаете factory (Object :: class, 1) -> make() Вместо этого фабрика сворачивает отдельный экземпляр Object :: class в коллекцию Eloquent для вас.