ultimatepos/app/Services/Api/ContactService.php

35 lines
973 B
PHP

<?php
namespace App\Services\Api;
use App\Contact;
use Illuminate\Http\Request;
class ContactService
{
public function list(Request $request, int $business_id)
{
$query = Contact::where('business_id', $business_id);
if ($request->filled('type')) {
$query->whereIn('type', (array) $request->input('type'));
}
if ($request->filled('search')) {
$search = $request->input('search');
$query->where(function ($q) use ($search) {
$q->where('name', 'like', "%{$search}%")
->orWhere('supplier_business_name', 'like', "%{$search}%")
->orWhere('mobile', 'like', "%{$search}%");
});
}
return $query->orderBy('name')->paginate($request->input('per_page', 25));
}
public function find(int $business_id, int $id): Contact
{
return Contact::where('business_id', $business_id)->findOrFail($id);
}
}