Files
ladill-mini/app/Http/Controllers/Mini/PaymentsController.php
T
isaaccladandCursor 7ffa44b128
Deploy Ladill Mini / deploy (push) Successful in 24s
Add mobile-only payment search for Ladill Mini.
Wire the mobile search tab to a payments search page and remove desktop header search shortcuts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 21:47:33 +00:00

46 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Mini;
use App\Http\Controllers\Controller;
use App\Models\MiniPayment;
use App\Models\QrCode;
use Illuminate\Http\Request;
use Illuminate\View\View;
class PaymentsController extends Controller
{
public function index(Request $request): View
{
$account = ladill_account();
$search = trim((string) $request->query('q', ''));
$qrIds = $account->qrCodes()
->where('type', QrCode::TYPE_PAYMENT)
->pluck('id');
$payments = MiniPayment::query()
->whereIn('qr_code_id', $qrIds)
->when($search !== '', function ($query) use ($search) {
$like = '%'.$search.'%';
$query->where(function ($inner) use ($like) {
$inner->where('payer_name', 'like', $like)
->orWhere('payer_email', 'like', $like)
->orWhere('payer_note', 'like', $like)
->orWhere('reference', 'like', $like)
->orWhere('payment_reference', 'like', $like)
->orWhereHas('qrCode', fn ($qr) => $qr->where('label', 'like', $like));
});
})
->with('qrCode')
->latest('created_at')
->paginate(25)
->withQueryString();
return view('mini.payments', [
'payments' => $payments,
'search' => $search,
]);
}
}