File "ArticleSort.php"

Full Path: /var/www/html/back/app/Domain/Payment/Sorting/ArticleSort.php
File size: 599 bytes
MIME-type: text/x-php
Charset: utf-8

<?php

declare(strict_types=1);

namespace App\Domain\Payment\Sorting;

use App\BaseClasses\BasePaymentsSort;
use App\Models\Payment;
use App\Models\PaymentDistribution;
use Illuminate\Database\Eloquent\Collection;

class ArticleSort extends BasePaymentsSort
{
    public static function sort(Collection $data, bool $desc = false): Collection
    {
        $data = $data->sortBy(function ($item) {
            return mb_strtolower($item->distributions->first()?->article->name ?? '');
        });

        if ($desc) {
            $data = $data->reverse();
        }

        return $data;
    }

}