Heera/Modules/Customer/app/Repositories/CustomerRepository.php
2024-05-16 09:31:08 +05:45

52 lines
1.2 KiB
PHP

<?php
namespace Modules\Customer\Repositories;
use Illuminate\Support\Facades\DB;
use Modules\Customer\Models\Customer;
class CustomerRepository implements CustomerInterface
{
public function findAll()
{
return Customer::when(true, function ($query) {
// if (auth()->user()->hasRole('Customer')) {
// $user = \Auth::user();
// $query->where('id', $user->Customer_id);
// }
})->paginate(20);
}
public function getCustomerById($CustomerId)
{
return Customer::findOrFail($CustomerId);
}
public function getCustomerByEmail($email)
{
return Customer::where('email', $email)->first();
}
public function delete($CustomerId)
{
Customer::destroy($CustomerId);
}
public function create($CustomerDetails)
{
return Customer::create($CustomerDetails);
}
public function update($CustomerId, array $newDetails)
{
return Customer::whereId($CustomerId)->update($newDetails);
}
public function pluck()
{
return Customer::pluck(DB::raw("IFNULL(CONCAT(first_name, ' ', last_name), first_name) AS customer_name"), 'id');
}
}