Files
alrahma_sunday_school_api/app/Services/Payments/PaypalTransactionsService.php
T
2026-03-09 02:52:13 -04:00

43 lines
1.4 KiB
PHP

<?php
namespace App\Services\Payments;
use App\Models\PayPalPayment;
class PaypalTransactionsService
{
public function list(?string $keyword, int $perPage = 10)
{
$query = PayPalPayment::query()->orderByDesc('created_at');
if ($keyword) {
$query->where(function ($q) use ($keyword) {
$q->where('transaction_id', 'like', '%' . $keyword . '%')
->orWhere('payer_email', 'like', '%' . $keyword . '%')
->orWhere('event_type', 'like', '%' . $keyword . '%')
->orWhere('order_id', 'like', '%' . $keyword . '%')
->orWhere('parent_school_id', 'like', '%' . $keyword . '%');
});
}
return $query->paginate($perPage);
}
public function listAll(?string $keyword): array
{
$query = PayPalPayment::query()->orderByDesc('created_at');
if ($keyword) {
$query->where(function ($q) use ($keyword) {
$q->where('transaction_id', 'like', '%' . $keyword . '%')
->orWhere('payer_email', 'like', '%' . $keyword . '%')
->orWhere('event_type', 'like', '%' . $keyword . '%')
->orWhere('order_id', 'like', '%' . $keyword . '%')
->orWhere('parent_school_id', 'like', '%' . $keyword . '%');
});
}
return $query->get()->map(fn ($row) => (array) $row)->all();
}
}