Viewing file: TransactionController.php (2.2 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Models\BillingRequest; use App\Models\Customer; use Illuminate\Http\Request;
class TransactionController extends Controller { public function index(){ $data['customers'] = Customer::where('status','active')->select('id','first_name','last_name')->get(); return view('admin.transactions.index',$data); } public function getAll(Request $request) { $customer_id = $request->customer_id; if($customer_id) { $transactions = BillingRequest::with('customer','plan')->orderBy('created_at', 'DESC')->whereIn('customer_id', $customer_id)->get(); } else { $transactions = BillingRequest::with('customer','plan')->orderBy('created_at','DESC')->get(); } return datatables()->of($transactions) ->addColumn('plan', function (BillingRequest $q) { return $q->plan->title; }) ->addColumn('price', function (BillingRequest $q) { return formatNumberWithCurrSymbol($q->plan->price); }) ->addColumn('transaction_id', function (BillingRequest $q) { return $q->transaction_id; }) ->addColumn('payment_type', function (BillingRequest $q) { if ($q->other_info) { $array = (array)json_decode($q->other_info); $obj = json_encode(array_combine(array_map("ucfirst", array_keys($array)), array_values($array))); } else $obj = ""; return "<div class='show-more' style='max-width: 500px;white-space: pre-wrap'>" . str_replace(['_', '"', "{", "}"], [' ', ' ', '', ''], $obj) . "</div>"; }) ->addColumn('status', function (BillingRequest $q) { return $q->status; }) ->addColumn('customer_name', function (BillingRequest $q) { return "<a class='customer-profile' href='" . route('admin.customers.edit', [$q->customer_id]) . "'>" . $q->customer->full_name . "</a>"; }) ->rawColumns(['customer_name', 'payment_type']) ->toJson(); } }
|