You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							40 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							40 lines
						
					
					
						
							1.6 KiB
						
					
					
				<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers\Admin;
 | 
						|
 | 
						|
use App\Http\Controllers\Controller;
 | 
						|
use App\Models\LoyaltyPointTransaction;
 | 
						|
use Illuminate\Http\Request;
 | 
						|
 | 
						|
class LoyaltyPointController extends Controller
 | 
						|
{
 | 
						|
    public function report(Request $request)
 | 
						|
    {
 | 
						|
        $data = LoyaltyPointTransaction::selectRaw('sum(credit) as total_credit, sum(debit) as total_debit')
 | 
						|
        ->when(($request->from && $request->to),function($query)use($request){
 | 
						|
            $query->whereBetween('created_at', [$request->from.' 00:00:00', $request->to.' 23:59:59']);
 | 
						|
        })
 | 
						|
        ->when($request->transaction_type, function($query)use($request){
 | 
						|
            $query->where('transaction_type',$request->transaction_type);
 | 
						|
        })
 | 
						|
        ->when($request->customer_id, function($query)use($request){
 | 
						|
            $query->where('user_id',$request->customer_id);
 | 
						|
        })
 | 
						|
        ->get();
 | 
						|
        
 | 
						|
        $transactions = LoyaltyPointTransaction::
 | 
						|
        when(($request->from && $request->to),function($query)use($request){
 | 
						|
            $query->whereBetween('created_at', [$request->from.' 00:00:00', $request->to.' 23:59:59']);
 | 
						|
        })
 | 
						|
        ->when($request->transaction_type, function($query)use($request){
 | 
						|
            $query->where('transaction_type',$request->transaction_type);
 | 
						|
        })
 | 
						|
        ->when($request->customer_id, function($query)use($request){
 | 
						|
            $query->where('user_id',$request->customer_id);
 | 
						|
        })
 | 
						|
        ->latest()
 | 
						|
        ->paginate(config('default_pagination'));
 | 
						|
 | 
						|
        return view('admin-views.customer.loyalty-point.report', compact('data','transactions'));
 | 
						|
    }
 | 
						|
}
 | 
						|
 |