MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/mpl.imenso.co/app/Repositories/GenreRepository.php
<?php

namespace App\Repositories;

use App\Models\Genre;
use Illuminate\Support\Collection;

class GenreRepository extends Repository
{
    public $top_only = false;

    public static function topOnly($top_only)
    {
        $repo = new self;
        $repo->top_only = $top_only;

        return $repo;
    }

    public function get()
    {
        if ($this->top_only == true) {
            $genres = Genre::where('parent_id', 0)->get();
        } else {
            $genres = Genre::all();
        }

        foreach ($genres as $g_item) {
            $this->items->push($g_item);
        }

        return $this->items;
    }

    public function prepareForExternalUse()
    {
        $flattened = new Collection;

        foreach ($this->items as $item) {
            $data = $item->toArray();
            $flattened->push($data);
        }

        return $flattened;
    }
}